• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    基于端口號和IP地址的多視頻轉發方法技術

    技術編號:7704542 閱讀:293 留言:0更新日期:2012-08-25 01:42
    本發明專利技術公開了一種基于端口號和IP地址的多視頻轉發方法,屬于視頻傳輸領域。本發明專利技術包括視頻服務器、轉發服務器和終端,該視頻服務器將多路視頻發送給該轉發服務器,該轉發服務器將對應的視頻轉發給需視頻傳輸的終端;在轉發服務器向需視頻傳輸的終端轉發對應的視頻時,轉發服務器通過主線程實現終端信息和子線程啟閉的更新,通過子線程實現視頻的轉發,并且每一路視頻對應于一個單獨的子線程,每一子線程對應于一個端口號。本發明專利技術保證了線程之間的并發執行,互不干擾;此外實現對子線程啟閉的控制,不僅保證了多路視頻的同時轉發,而且防止減少的線程占用帶寬,降低了視頻傳輸成本,使得視頻傳輸的效果較好。

    【技術實現步驟摘要】

    本專利技術涉及視頻轉發方法,尤其是一種基于端口號和IP地址的多視頻轉發方法
    技術介紹
    在視頻傳輸領域,通常由視頻服務器直接向終端提供視頻數據,如圖I所示。然而,當多個終端同時向視頻服務器請求視頻傳輸時,為了保證視頻傳輸的流暢性,必須開通較大的寬帶,否則視頻傳輸效果不好,從而導致目前視頻傳輸的成本較高,并且當多個終端向視頻服務器請求同一路視頻傳輸時,會給視頻服務器造成很大的壓力。此外,目前視頻服務器是將本地存儲的視頻傳輸給終端,而在諸如視頻監控等某些領域,要求在視頻傳輸的同時實現視頻的采集,僅僅采用視頻服務器無法做到。
    技術實現思路
    本專利技術的目的是提供一種基于端口號和IP地址的多視頻轉發方法,每一視頻對應于一個子線程,且由主線程實現終端信息的更新和子線程啟閉的控制,由子線程實現視頻轉發,保證了線程之間的并發執行,互不干擾;此外當端口號減少時關閉與該端口號對應的線程,當端口號增加時開啟與該端口號對應的線程,實現了對子線程啟閉的控制,不僅保證了多路視頻的同時轉發,而且防止減少的線程占用帶寬,降低了視頻傳輸成本,使得視頻傳輸的效果較好。為了實現上述目的,本專利技術提供了一種基于端口號和IP地址的多視頻轉發方法,包括多個終端,其特征在于還包括轉發服務器,該轉發服務器用于接收多路視頻并將對應的視頻轉發給需視頻傳輸的終端;在轉發服務器向需視頻傳輸的終端轉發對應的視頻時,轉發服務器通過主線程實現終端信息和子線程啟閉的更新,通過子線程實現視頻的轉發,并且每一路視頻對應于一個單獨的子線程,每一子線程對應于一個端口號;該轉發服務器創建待分發鏈表來存儲更新后的終端信息,并創建線程鏈表來存儲增加和減少的端口號,從而實現該端口號對應的子線程的啟閉,其中該終端信息包括終端的端口號和IP地址,該線程鏈表具有線程鏈表標記位變量;該多視頻轉發方法包括該轉發服務器定時獲取終端信息,并且通過主線程對子線程的啟閉進行控制的步驟S10、將該線程鏈表的線程鏈表標記位變量初始化為0,創建第一分發鏈表和第二分發鏈表,并且建立分發線程數組,該分發線程數組由多個第二元素組成,每一第二元素均對應于一個端口號并由該第二兀素的下標來表不該端口號,每一第二兀素均存儲有一個變量分發線程標記位;S11、該第一分發鏈表用于獲取上次需視頻傳輸的終端信息并進行排序,該第二分發鏈表用于獲取本次需視頻傳輸的終端信息并進行排序;S12、該第一端口號鏈表用于獲取第一分發鏈表中終端信息的端口號并進行排序、刪除重復元素,該第二端口號鏈表用于獲取第二分發鏈表中終端信息的端口號并進行排序、刪除重復元素;S13、求取第二端口號鏈表與第一端口號鏈表的差集并存儲至第一端口差集鏈表中,由此獲得增加的端口號;求取第一端口號鏈表與第二端口號鏈表的差集并存儲至第二端口差集鏈表中,由此獲得減少的端口號;S14、判斷第一端口差集鏈表和第二端口差集鏈表是否均為空如果均為空,則表示端口號未改變,即端口號對應的視頻轉發子線程未改變,該線程鏈表中的線程鏈表標記位變量保持為0,并且將第二分發鏈表的終端信息賦給第一分發鏈表; 否則表示端口號發生改變,即端口號對應的視頻轉發子線程發生改變,將線程鏈表中的線程鏈表標記位變量設置為I,將第一端口差集鏈表中的端口號分別賦給線程鏈表的一個結點并將這些結點的屬性值設置為第一值,將第二端口差集鏈表中的端口號分別賦給線程鏈表的一個結點并將這些結點的屬性值設置為第二值,并且將第二分發鏈表的終端信息賦給第一分發鏈表;S15、判斷該線程鏈表的線程鏈表標記位變量是否為I :如果該線程鏈表標記位變量為0,則重復執行步驟Sll S15 ;如果該線程鏈表標記位變量為1,則進一步判斷線程鏈表中結點的屬性值如果結點的屬性值為第一值則在該分發線程數組中查找與該結點中端口號對應的第二元素,并將該第二元素的分發線程標記設置為0,從而開啟與該結點中端口號對應的子線程;如果結點的屬性值為第二值則在該分發線程數組中查找與該結點中端口號對應的第二元素,并將該第二元素的分發線程標記設置為1,從而關閉與該結點中端口號對應的子線程;并且將該線程鏈表中的線程鏈表標記位變量重新設置為0,重復執行步驟Sll S15。該基于端口號和IP地址的多視頻轉發方法還包括該轉發服務器對終端信息進行更新的步驟,將本次需視頻傳輸的終端信息與上次需視頻傳輸的終端信息進行比較如果相同則不更新終端信息;如果不相同則更新終端信息,其中該終端信息包括終端的端口號和IP地址。該待分發鏈表具有待分發鏈表改變標記位變量,該轉發服務器定時獲取終端信息,并且通過主線程對終端信息進行更新的過程由以下步驟組成S20、將待分發鏈表的待分發鏈表改變標記位變量初始化為0,并創建第一分發鏈表和第二分發鏈表,建立全局變量分發信息數組,該分發信息數組由多個第一元素組成,每一第一兀素均對應于一個端口號且由該第一兀素的下標來表不該端口號,每一第一兀素均存儲有三個變量分發信息標記位iFlag、端口號所對應IP地址的起始位置iPos以及端口號所對應IP地址的數量iCount ;S21、該第一分發鏈表用于獲取上次需視頻傳輸的終端信息并進行排序,該第二分發鏈表用于獲取本次需視頻傳輸的終端信息并進行排序,其中該終端信息包括終端的端口號和IP地址;S22、求取第二分發鏈表與第一分發鏈表的差集并存儲至第一差集鏈表中,由此獲得增加的終端信息;求取第一分發鏈表與第二分發鏈表的差集并存儲至第二差集鏈表中,由此獲得減少的終端信息;S23、判斷第一差集鏈表和第二差集鏈表是否均為空如果均為空,則表示本次需視頻傳輸的終端信息與上次需視頻傳輸的終端信息相同,該待分發鏈表的待分發鏈表改變標記位變量保持為O ;否則表示本次需視頻傳輸的終端信息與上次需視頻傳輸的終端信息不相同,將待分發鏈表的待分發鏈表改變標記位變量設置為I ;S24、判斷該待分發鏈表改變標記位變量是否為I :如果該待分發鏈表改變標記位變量為0,則不更新待分發鏈表中的終端信息;如果該待分發鏈表改變標記位變量為I則重新計算該分發信息數組的每一第一元素中端口號所對應IP地址的起始位置iPos、端口號所對應IP地址的數量iCount,將每 一元素的分發信息標記位iFlag設置為1,將第二分發鏈表的終端信息賦給待分發鏈表,并將該待分發鏈表改變標記位變量重新設置為O。該基于端口號和IP地址的多視頻轉發方法還包括該轉發服務器通過子線程向對應終端轉發視頻的步驟S30、轉發服務器根據待分發鏈表中的端口號,分別開啟與該端口號對應的子線程,并根據該待分發鏈表中的IP地址,分別與對應的終端建立RTP會話,發送SR包和RTP包;S31、分別對每一RTP會話進行檢錯如果RTP會話存在錯誤則退出該子線程,否則執行下一步;S32、根據RTP會話中子線程對應的端口號,在分發線程數組中查找與該端口號對應的第二元素,并且判斷該第二元素的分發線程標記位是否為I :如果該第二元素的分發線程標記位為I則將該第二元素的分發線程標記位設置為0,并退出該子線程,否則直接執行下一步;S33、判斷對應終端是否接收到轉發服務器發送的SR包如果接收到轉發服務器發送的SR包則將RR包反饋給該轉發服務器,轉發服務器根據RR包對視頻轉發參數進行調節,從而保證視頻的清晰轉發,否則直接執行下一步;S34、根據R本文檔來自技高網...

    【技術保護點】

    【技術特征摘要】
    1.一種基于端口號和IP地址的多視頻轉發方法,包括多個終端,其特征在于還包括轉發服務器,該轉發服務器用于接收多路視頻并將對應的視頻轉發給需視頻傳輸的終端; 在轉發服務器向需視頻傳輸的終端轉發對應的視頻時,轉發服務器通過主線程實現終端信息和子線程啟閉的更新,通過子線程實現視頻的轉發,并且每一路視頻對應于一個單獨的子線程,每一子線程對應于一個端口號; 該轉發服務器創建待分發鏈表來存儲更新后的終端信息,并創建線程鏈表來存儲增加和減少的端口號,從而實現該端口號對應的子線程的啟閉,其中該終端信息包括終端的端口號和IP地址,該線程鏈表具有線程鏈表標記位變量; 該多視頻轉發方法包括該轉發服務器定時獲取終端信息,并且通過主線程對子線程的啟閉進行控制的步驟 510、將該線程鏈表的線程鏈表標記位變量初始化為O,創建第一分發鏈表和第二分發鏈表,并且建立分發線程數組,該分發線程數組由多個第二元素組成,每一第二元素均對應于一個端口號并由該第二兀素的下標來表不該端口號,每一第二兀素均存儲有一個變量分發線程標記位; 511、該第一分發鏈表用于獲取上次需視頻傳輸的終端信息并進行排序,該第二分發鏈表用于獲取本次需視頻傳輸的終端信息并進行排序; 512、該第一端口號鏈表用于獲取第一分發鏈表中終端信息的端口號并進行排序、刪除重復元素,該第二端口號鏈表用于獲取第二分發鏈表中終端信息的端口號并進行排序、刪除重復元素; 513、求取第二端口號鏈表與第一端口號鏈表的差集并存儲至第一端口差集鏈表中,由此獲得增加的端口號;求取第一端口號鏈表與第二端口號鏈表的差集并存儲至第二端口差集鏈表中,由此獲得減少的端口號; 514、判斷第一端口差集鏈表和第二端口差集鏈表是否均為空如果均為空,則表示端口號未改變,即端口號對應的視頻轉發子線程未改變,該線程鏈表中的線程鏈表標記位變量保持為O,并且將第二分發鏈表的終端信息賦給第一分發鏈表; 否則表示端口號發生改變,即端口號對應的視頻轉發子線程發生改變,將線程鏈表中的線程鏈表標記位變量設置為I,將第一端口差集鏈表中的端口號分別賦給線程鏈表的一個結點并將這些結點的屬性值設置為第一值,將第二端口差集鏈表中的端口號分別賦給線程鏈表的一個結點并將這些結點的屬性值設置為第二值,并且將第二分發鏈表的終端信息賦給第一分發鏈表; 515、判斷該線程鏈表的線程鏈表標記位變量是否為I: 如果該線程鏈表標記位變量為O,則重復執行步驟Sll S15 ; 如果該線程鏈表標記位變量為1,則進一步判斷線程鏈表中結點的屬性值如果結點的屬性值為第一值則在該分發線程數組中查找與該結點中端口號對應的第二元素,并將該第二元素的分發線程標記設置為O,從而開啟與該結點中端口號對應的子線程;如果結點的屬性值為第二值則在該分發線程數組中查找與該結點中端口號對應的第二元素,并將該第二元素的分發線程標記設置為1,從而關閉與該結點中端口號對應的子線程;并且將該線程鏈表中的線程鏈表標記位變量重新設置為O,重復執行步驟Sll S15。2.根據權利要求I所述的基于端口號和IP地址的多視頻轉發方法,其特征在于還包括該轉發服務器對終端信息進行更新的步驟,將本次需視頻傳輸的終端信息與上次需視頻傳輸的終端信息進行比較如果相同則不更新終端信息;如果不相同則更新終端信息,其中該終端信息包括終端的端口號和IP地址。3.根據權利要求2所述的基于端口號和IP地址的多視頻轉發方法,其特征在于該待分發鏈表具有待分發鏈表改變標記位變量,該轉發服務器定時獲取終端信息,并且通過主線程對終端信息進行更新的過程由以下步驟組成 520、將待分發鏈表的待分發鏈表改變標記位變量初始化為O,并創建第一分發鏈表和第二分發鏈表,建立全局變量分發信息數組,該分發信息數組由多個第一元素組成,每一第一兀素均對應于一個端口號且由該第一兀素的下標來表不該端口號,每一第一兀素均存儲有三個變量分發信息標記位iFlag、端口號所對應IP地址的起始位置iPos以及端口號所對應IP地址的數量iCount ; 521、該第一分發鏈表用于獲取上次需視頻傳輸的終端信息并進行排序,該第二分發鏈表用于獲取本次需視頻傳輸的終端信息并進行排序,其中該終端信息包括...

    【專利技術屬性】
    技術研發人員:李校林李津楊豐瑞劉輝
    申請(專利權)人:重慶郵電大學重慶信科設計有限公司
    類型:發明
    國別省市:

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 特级无码毛片免费视频尤物 | 精品一区二区三区无码视频| 精品无码国产一区二区三区AV| 亚洲一区AV无码少妇电影| 无码人妻啪啪一区二区| 亚洲国产精品无码成人片久久| 无码人妻精品内射一二三AV| 亚洲日韩v无码中文字幕| 亚洲国产精品无码观看久久| 久久亚洲精品中文字幕无码| 无码午夜人妻一区二区不卡视频| 无码国产色欲XXXXX视频| 在线观看片免费人成视频无码| 国产精品无码一区二区三区毛片 | 日韩精品无码一区二区中文字幕 | 久久精品无码一区二区三区免费| 精品韩国亚洲av无码不卡区| 亚洲国产精品无码久久一区二区| 无码人妻精品一区二区三区99不卡| 亚洲av日韩av无码| 亚洲综合无码精品一区二区三区| 国产精品无码专区在线播放| 亚洲中文字幕久久无码| 99久久亚洲精品无码毛片| 野花在线无码视频在线播放| 中文字幕无码免费久久9一区9 | 亚洲av无码乱码在线观看野外 | 亚洲AV蜜桃永久无码精品| 亚洲中文无码mv| 亚洲αⅴ无码乱码在线观看性色| 未满小14洗澡无码视频网站| 无码精品国产一区二区三区免费 | 国产成人无码久久久精品一| a级毛片无码免费真人久久| 国产成人无码专区| 国产亚洲精品a在线无码| 国产亚洲精久久久久久无码77777| 中文无码乱人伦中文视频在线V| 熟妇人妻中文av无码| 中文字幕丰满乱孑伦无码专区| 国产午夜无码视频在线观看|