两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

Rtsp/rtp音視頻流轉(zhuǎn)換為ts流并通過asi接口輸出的方法和裝置的制造方法

文檔序號(hào):9730534閱讀:846來源:國(guó)知局
Rtsp/rtp音視頻流轉(zhuǎn)換為ts流并通過asi接口輸出的方法和裝置的制造方法
【專利說明】RTSP/RTP音視頻流轉(zhuǎn)換為TS流并通過ASI接口輸出的方法和裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及發(fā)送和接收流傳輸數(shù)據(jù)的技術(shù)領(lǐng)域,具體來說,本發(fā)明涉及一種RTSP/RTP音視頻流(內(nèi)容)轉(zhuǎn)換為TS流并通過ASI接口輸出的方法和裝置。
【背景技術(shù)】
[0002]一般地,實(shí)時(shí)流傳輸協(xié)議(RTSP)與實(shí)時(shí)傳輸協(xié)議(RTP) 一起被使用,其中RTSP用于發(fā)送端與接收端的會(huì)話,而RTP用于傳輸音視頻內(nèi)容。
[0003]在視頻監(jiān)控領(lǐng)域,IP攝像頭大都是通過RTSP/RTP協(xié)議輸出音視頻內(nèi)容,但是RTSP/RTP協(xié)議是一種基于TCP/IP的協(xié)議,所以只能在IP網(wǎng)絡(luò)上使用,無法在有線數(shù)字電視網(wǎng)或者無線數(shù)字電視網(wǎng)中使用。而在數(shù)字電視領(lǐng)域,有線數(shù)字電視網(wǎng)或者無線數(shù)字電視網(wǎng)中音視頻內(nèi)容只能是傳輸流(TS流)格式的,而且有線數(shù)字電視網(wǎng)和無線數(shù)字電視網(wǎng)的局端設(shè)備的數(shù)字音視頻接口基本都是如DVB異步接口等異步串行接口(Asynchronous SerialInterface,簡(jiǎn)稱ASI接口)。

【發(fā)明內(nèi)容】

[0004]本發(fā)明所要解決的技術(shù)問題是在視頻監(jiān)控領(lǐng)域和數(shù)字電視領(lǐng)域之間建立一個(gè)數(shù)據(jù)橋梁,提供一種將視頻監(jiān)控領(lǐng)域的RTSP/RTP音視頻流轉(zhuǎn)換為TS流并通過ASI接口輸出的方法和裝置,以用于數(shù)字電視領(lǐng)域。
[0005]為解決上述技術(shù)問題,本發(fā)明提供一種RTSP/RTP音視頻流轉(zhuǎn)換為TS流并通過ASI接口輸出的方法,包括如下步驟:
[0006]A.通過RTSP協(xié)議建立與一網(wǎng)絡(luò)視頻發(fā)送端的RTSP連接,獲取所述網(wǎng)絡(luò)視頻發(fā)送端發(fā)送的音視頻流的音頻解碼信息和視頻解碼信息;
[0007]B.建立所述音視頻流發(fā)送的RTP通道和接收端口,通知所述網(wǎng)絡(luò)視頻發(fā)送端發(fā)送所述音視頻流的RTP包;
[0008]C.在不同的所述接收端口接收所述音視頻流的音頻RTP包和視頻RTP包,通過所述音頻RTP包和所述視頻RTP包上攜帶的時(shí)間信息分別分割音頻幀和視頻幀,并將所述時(shí)間信息暫存起來;
[0009]D.將所述音頻幀和所述視頻幀的所有RTP包頭分別去掉,然后將其余數(shù)據(jù)分別組合成一個(gè)完整的原始音頻幀和一個(gè)完整的原始視頻幀;
[0010]E.在所述原始音頻幀的頭部加上所述音頻解碼信息,在所述原始視頻幀的I幀頭部加上所述視頻解碼信息;
[0011 ] F.根據(jù)每一個(gè)音頻幀的第一個(gè)所述音頻RTP包和每一個(gè)視頻幀的第一個(gè)所述視頻RTP包暫存的所述時(shí)間信息,結(jié)合所述音頻解碼信息和所述視頻解碼信息中的采樣率信息,分別計(jì)算出每一個(gè)所述原始音頻幀和每一個(gè)所述原始視頻幀的PTS值;
[0012]G.根據(jù)所述原始音頻幀的DTS = PTS,所述原始視頻幀中I幀的DTS = PTS-幀間隔,所述原始視頻幀中其余幀的DTS =上一幀的DTS+幀間隔的方法,分別計(jì)算出所述原始音頻幀和所述原始視頻幀的DTS值;
[0013]H.按照DTS遞增原則,統(tǒng)一重新排序所述原始音頻幀和所述原始視頻幀;
[0014]1.將所述原始音頻幀和其PTS值以及所述原始視頻幀和其PTS值、DTS值分別打包成一個(gè)或多個(gè)PES包,所述原始音頻幀的所述PTS值和所述原始視頻幀的所述PTS值、所述DTS值只分別出現(xiàn)在各自的第一個(gè)所述PES包中,每個(gè)所述PES包最大為65541字節(jié),再將所述PES包按照TS格式,分割成一個(gè)或多個(gè)188字節(jié)或者204字節(jié)的TS包;
[0015]J.按照PCR = DTS-經(jīng)驗(yàn)值的方法,計(jì)算出所述TS流的PCR值,并且在所述視頻幀和所述音頻幀的所述DTS值間隔超過一小于100ms的值的時(shí)候插入一 PCR包;
[0016]K.將所述音頻幀的所述TS包、所述視頻幀的所述TS包和所述PCR包,一起寫入一先入先出的緩沖存儲(chǔ)器中;以及
[0017]L.按照設(shè)定的所述ASI接口的輸出碼率,讀取存儲(chǔ)有所述音頻幀的TS包、所述視頻幀的TS包和所述PCR包的所述緩沖存儲(chǔ)器,其中每隔一不超過100ms的時(shí)間間隔,插入所述TS流所必須的一個(gè)188字節(jié)或者204字節(jié)的PAT包和一個(gè)188字節(jié)或者204字節(jié)的PMT包輸出到所述ASI接口;其中,設(shè)定的所述ASI接口的所述輸出碼率必須大于所述RTSP/RTP音視頻流的碼率。
[0018]可選地,在上述步驟L中,通過在所述緩沖存儲(chǔ)器中適時(shí)插入空TS包以適配所述ASI接口的所述輸出碼率,實(shí)現(xiàn)所述ASI接口的恒定碼率輸出;其中,如果所述緩沖存儲(chǔ)器中的數(shù)據(jù)量大于等于188字節(jié)或者204字節(jié),那么就直接讀取188字節(jié)或者204字節(jié)的數(shù)據(jù)輸出到所述ASI接口;如果所述緩沖存儲(chǔ)器中的數(shù)據(jù)量小于188字節(jié)或者204字節(jié),那么就插入一個(gè)188字節(jié)或者204字節(jié)的所述空TS包輸出到所述ASI接口,實(shí)現(xiàn)所述ASI接口的恒定碼率輸出。
[0019]可選地,在上述步驟C中,對(duì)于發(fā)送到同一個(gè)所述接收端口的所述音頻RTP包或者所述視頻RTP包,如果所述時(shí)間信息完全相同,那么這些所述音頻RTP包或者所述視頻RTP包都屬于同一個(gè)所述音頻幀或者同一個(gè)所述視頻幀。
[0020]可選地,在上述步驟F中,PTS =時(shí)間信息*90000/采樣率;由于原始的所述時(shí)間信息為32位,所以在計(jì)算之前,需要將所述時(shí)間信息擴(kuò)展為64位,然后再進(jìn)行計(jì)算;其中,擴(kuò)展所述時(shí)間信息的方法為:64位的所述時(shí)間信息低32位等于原始的所述時(shí)間信息,當(dāng)原始的所述時(shí)間信息出現(xiàn)翻轉(zhuǎn),那么64位的所述時(shí)間信息高32位累加1。
[0021]可選地,在上述步驟G中,所述幀間隔指的是所述原始視頻幀的連續(xù)兩幀之間的時(shí)間間隔值,其時(shí)間單位為1 /90000秒。
[0022]為解決上述技術(shù)問題,本發(fā)明還提供一種RTSP/RTP音視頻流轉(zhuǎn)換為TS流并通過ASI接口輸出的裝置,包括:
[0023]解碼信息獲取模塊,通過RTSP協(xié)議建立與一網(wǎng)絡(luò)視頻發(fā)送端的RTSP連接,獲取所述網(wǎng)絡(luò)視頻發(fā)送端發(fā)送的音視頻流的音頻解碼信息和視頻解碼信息;
[0024]通道和端口建立模塊,建立所述音視頻流發(fā)送的RTP通道和接收端口,通知所述網(wǎng)絡(luò)視頻發(fā)送端發(fā)送所述音視頻流的RTP包;
[0025]音視頻幀分割模塊,在不同的所述接收端口接收所述音視頻流的音頻RTP包和視頻RTP包,通過所述音頻RTP包和所述視頻RTP包上攜帶的時(shí)間信息分別分割音頻幀和視頻幀,并將所述時(shí)間信息暫存起來;
[0026]包頭去除和音視頻幀組合模塊,將所述音頻幀和所述視頻幀的所有RTP包頭分別去掉,然后將其余數(shù)據(jù)分別組合成一個(gè)完整的原始音頻幀和一個(gè)完整的原始視頻幀;
[0027]解碼信息添加模塊,在所述原始音頻幀的頭部加上所述音頻解碼信息,在所述原始視頻幀的I幀頭部加上所述視頻解碼信息;
[0028]PTS值計(jì)算模塊,根據(jù)每一個(gè)音頻幀的第一個(gè)所述音頻RTP包和每一個(gè)視頻幀的第一個(gè)所述視頻RTP包暫存的所述時(shí)間信息,結(jié)合所述音頻解碼信息和所述視頻解碼信息中的采樣率信息,分別計(jì)算出每一個(gè)所述原始音頻幀和每一個(gè)所述原始視頻幀的PTS值;
[0029]DTS值計(jì)算模塊,根據(jù)所述原始音頻幀的DTS = PTS,所述原始視頻幀中I幀的DTS =PTS-幀間隔,所述原始視頻幀中其余幀的DTS =上一幀的DTS+幀間隔的方法,分別計(jì)算出所述原始音頻幀和所述原始視頻幀的DTS值;
[0030]音視頻幀排序模塊,按照DTS遞增原則,統(tǒng)一重新排序所述原始音頻幀和所述原始視頻幀;
[0031]打包和分割模塊,將所述原始音頻幀和其PTS值以及所述原始視頻幀和其PTS值、DTS值分別打包成一個(gè)或多個(gè)PES包,所述原始音頻幀的所述PTS值和所述原始視頻幀的所述PTS值、所述DTS值只分別出現(xiàn)在各自的第一個(gè)所述PES包中,每個(gè)所述PES包最大為65541字節(jié),再將所述PES包按照TS格式,分割成一個(gè)或多個(gè)188字節(jié)或者204字節(jié)的TS包;
[0032]PCR值計(jì)算和PCR包插入模塊,按照PCR = DTS_經(jīng)驗(yàn)值的方法,計(jì)算出所述TS流的PCR值,并且在所述視頻幀和所述音頻幀的所述DTS值間隔超過一小于100ms的值的時(shí)候插入一 PCR包;
[0033]
當(dāng)前第1頁1 2 3 4 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
汽车| 武邑县| 房产| 新安县| 那曲县| 昌邑市| 中西区| 兴和县| 城步| 武山县| 高清| 凌源市| 镇巴县| 温州市| 原阳县| 教育| 汶川县| 岱山县| 平泉县| 仙游县| 霞浦县| 安陆市| 湘潭市| 平谷区| 五台县| 东海县| 宁城县| 齐齐哈尔市| 化州市| 葫芦岛市| 靖边县| 临武县| 临湘市| 临夏县| 万安县| 独山县| 穆棱市| 大关县| 巨鹿县| 新民市| 卢氏县|