TS流格式學習

引言

標準文檔給自己的定義是:論述了將音頻和視頻的一個或多個基本流以及其他數(shù)據(jù)組合成為一個單獨的流或多個流塑猖,以適于存儲或傳輸饭寺。系統(tǒng)編碼遵循本規(guī)范中提出的句法和語義規(guī)則拟杉,并且提供信息使得解碼器緩沖區(qū)可以在各種檢索或接收條件下進行同步解碼脑又。

這里寫圖片描述

節(jié)目流:它是由一個或多個具有共同時間基的PES 包的流組合成一個單獨的流而形成的庆聘。
傳輸流:是將具有一個或多個獨立時間基的一個或多個節(jié)目組合成為一個單獨的流貌虾。由組成一個節(jié)目的基本流所構成的PES包共享一個公共的時間基吞加。傳輸流被設計為在易于出錯的環(huán)境中使用,例如在有損的或嘈雜的媒體中進行存儲或傳輸。傳輸流的包長度為188 個字節(jié)衔憨。

引言1 傳輸流

傳輸流是一種流定義叶圃,適用于在一個可能發(fā)生較多錯誤的環(huán)境中傳輸或存儲由遵循ITU-T H.262 建議書 | ISO/IEC 13818-2 和ISO/IEC 13818-3 的編碼數(shù)據(jù)以及其他數(shù)據(jù)所形成的一個或多個節(jié)目。
傳輸流可能具有固定速率或可變速率践图;傳輸流的速率由節(jié)目時鐘基準(PCR)字段的取值和位置來定義掺冠,一般來說對于每種節(jié)目都有一個獨立的PCR 字段。

引言2 節(jié)目流

節(jié)目流是一種流定義码党,適用于在一個不太可能發(fā)生誤差的環(huán)境中傳輸或存儲由編碼數(shù)據(jù)或其他數(shù)據(jù)所形成的一個節(jié)目德崭,在這種情況下,對系統(tǒng)編碼的處理揖盘,如通過軟件進行處理眉厨,是一個主要的考慮方面。
節(jié)目流可能具有固定速率或可變速率,節(jié)目流的速率由系統(tǒng)時鐘基準(SCR)字段和復用速率(mux_rate)字段的取值和位置來定義兽狭。

引言4 PES

每個傳輸流和節(jié)目流在邏輯上都是由PES 包構造的
屬于一個基本流的憾股、具有同一個流ID 的、連續(xù)的PES 包序列可能被用于構造一個PES 流
當PES 包被用于構造一個PES 流時箕慧,它們必須包含基本流時鐘基(ESCR)字段和基本流速率(ES_Rate)字段

引言5 time mode

所有的時序都根據(jù)一種公共系統(tǒng)時鐘來定義服球,該時鐘被稱為一個系統(tǒng)時鐘。
在節(jié)目流中销钝,此時鐘可能與視頻或音頻采樣時鐘之間具有一個精確指定的比率有咨,或者其運行頻率可能與精確的比率之間有輕微的不同琐簇,但仍然能夠提供精確的端到端的時序和時鐘恢復蒸健。
在傳輸流中,系統(tǒng)時鐘頻率被限定為在任何時候都應與音頻和視頻采樣時鐘之間具有精確指定的比率婉商;此限定的目的是為了簡化解碼器處的采樣速率恢復似忧。

重要的定義

  • Elementary Stream Clock Reference; ESCR (system) 基本流時鐘參考
  • presentation time-stamp; PTS (system) 顯示時間標記;PTS(系統(tǒng)):PES 包頭中可以存在的丈秩、指示系統(tǒng)目標解碼器中顯示單元的顯示時間的一個字段盯捌。
  • Program Clock Reference; PCR (system) 節(jié)目時鐘參考;PCR(系統(tǒng)):從傳輸流中時間標記推導而來的解碼器計時蘑秽。
  • Program Specific Information; PSI (system) 節(jié)目特定信息饺著;PSI(系統(tǒng)):PSI 由對于傳輸流的多路分解以及節(jié)目成功再現(xiàn)所必要的標準數(shù)據(jù)組成,并在2.4.4 中描述肠牲。專門規(guī)定的PSI 數(shù)據(jù)實例是非必備網(wǎng)絡信息表幼衰。
  • System Clock Reference; SCR (system) 系統(tǒng)時鐘參考;SCR(系統(tǒng)):從節(jié)目流中時間標記推導而來的解碼器計時缀雳。
  • system target decoder; STD (system) 系統(tǒng)目標解碼器渡嚣;STD(系統(tǒng)):用于確定ITU-TH.222.0 建議書| ISO/IEC 13818-1 多路復用比特流語義的解碼過程的虛擬參考模型。

系統(tǒng)時鐘頻率

系統(tǒng)時鐘頻率值以Hz 為度量單位且必須滿足以下限制:

27 000 000 – 810 ≤ system_clock_frequency ≤ 27 000 000 + 810
system_clock_frequency 的速率變化,每次≤75×10?3 Hz/s

PCR計算

PCR(i) = PCR _ base(i)× 300 + PCR _ ext(i)
PCR_base(i) = ((system_clock_frequency × t(i)) / 300) %2^33
PCR_ext(i) = ((system_clock_frequency × t(i)) / 1)%300

PCR_base:以1/300 的系統(tǒng)時鐘頻率周期為單位识椰,稱之為program_clock_reference_base
PCR-base的作用:
  a. 與PTS和DTS作比較, 當二者相同時, 相應的單元被顯示或者解碼.
  b. 在解碼器切換節(jié)目時,提供對解碼器PCR計數(shù)器的初始值,以讓該PCR值與PTS绝葡、DTS最大可能地達到相同的時間起點.
   
PCR_ext:以系統(tǒng)時鐘頻率為單位,稱之為program_clock_reference_extension
PCR-ext的作用:
  通過解碼器端的鎖相環(huán)路修正解碼器的系統(tǒng)時鐘, 使其達到和編碼器一致的27MHz.

例如:
時間"03:02:29.012"的PCR計算如下:
03:02:29.012=((3*60+2)*60)+29.012=10949.012s
PCR_base = ((27000000 × 10949.012) / 300) %2^33 = 98541080
PCR_ext = ((27000000 × 10949.012)/ 1) % 300 = 0
PCR = 98541080 * 300 + 0 = 295623324000

語法

首先看前輩們整理出來的一張圖:


這里寫圖片描述

一個TS數(shù)據(jù)包

47 41 00 30 07 50 00 00 80 F7 7E 00 00 00 01 E0 00 00 80 80 05 21 00 
07 F0 0D 00 00 00 01 09 10 00 00 00 01 67 4D 40 33 95 A0 0F 00 10 FB 
01 40 80 00 01 F4 80 00 75 30 70 00 00 0F 42 40 00 00 F4 24 0D DE 5C 
1F 1C 32 A0 00 00 00 01 68 EE 3C 80 00 00 00 01 06 00 07 81 19 40 00 
46 50 40 80 00 00 00 01 06 01 04 00 00 08 10 80 00 00 00 01 65 B8 04 
04 1F 02 EB 03 FE 13 F0 D4 6D 2C 00 D1 DF 2D C0 00 00 03 00 00 03 
00 00 03 00 00 03 00 00 2F 3D 76 1F D0 53 29 EE 83 00 00 03 00 00 03 
00 00 03 00 00 03 00 04 30 04 00 00 03 00 00 03 00 00 05 EC 00 00 03 
00 00 03 00 00 

包頭

這里寫圖片描述
//包頭數(shù)據(jù)
47 41 00 30

0100 0111 0100 0001 0000 0000 0011 0000

sync_byte - 8bit - 0x47

  • sync_byte 為固定的8 比特字段腹鹉,其值為'0100 0111' (0x47)藏畅。在對于其他正式出現(xiàn)字段的賦值選擇中,諸如PID种蘸,應避免sync_byte 仿真

**transport_error_indicator - 1bit - 0 **

  • 置于1 時墓赴,它指示在相關傳輸流包中至少存在1 個不可校正比特錯。此比特可以由傳輸層以外的實體設置為‘1’航瞭。設置為‘1’時诫硕,此比特應不重新設置為‘0’,除非誤差比特值已經(jīng)校正刊侯。

payload_unit_start_indicator - 1bit - 1

  • 對于承載PES包或PSI數(shù)據(jù)的傳輸流包章办,它具有標準含義。
    • 當傳輸流包有效載荷包含PES包數(shù)據(jù)時滨彻,payload_unit_start_indicator 具有以下意義:‘1’指示此傳輸流包的有效載荷應隨著PES 包的首字節(jié)開始藕届,‘0’指示在此傳輸流包中無任何PES包將開始。若payload_unit_start_indicator 設置為‘1’亭饵,則一個且僅有一個PES 包在此傳輸流包中起始休偶。這也適用于stream_type 6 的專用流;
    • 當傳輸流包有效載荷包含PSI 數(shù)據(jù)時,payload_unit_start_indicator 具有以下意義:若傳輸流包承載PSI分段的首字節(jié)辜羊,則payload_unit_start_indicator 值必為1踏兜,指示此傳輸流包的有效載荷的首字節(jié)承載pointer_field。若傳輸流包不承載PSI 分段的首字節(jié)八秃,則payload_unit_start_indicator 值必為‘0’碱妆,指示在此有效載荷中不存在pointer_field。參閱2.4.4.1 和2.4.4.2昔驱。這也適用于stream_type 5 的專用流;
    • 對空包而言疹尾,payload_unit_start_indicator 必須設置為‘0’。

transport_priority - 1bit - 0

  • 設置為‘1’時骤肛,它指示該相關包比具有相同PID 但不具有該比特設置為1 的其他包有更大的優(yōu)先級纳本。傳輸機制可以使用該字段優(yōu)先考慮基本流內的該包數(shù)據(jù)。取決于應用腋颠,transport_priority 字段可以不管PID 或者此字段僅在一個PID 范圍內編碼繁成。此字段可以由信道特定編碼器或解碼器來改變。

PID - 13bit - 0 0001 0000 0000

  • PID 為13 比特字段秕豫,指示包有效載荷中存儲的數(shù)據(jù)類型朴艰。


    這里寫圖片描述

transport_scrambling_control - 2bit - 00

  • 此2 比特字段指示傳輸流包有效載荷的加擾方式观蓄。
  • 傳輸流包頭以及自適應字段若存在,應不加擾祠墅。
  • 在空包的情況中侮穿,transport_scrambling_control 字段的值應設置為“00”


    這里寫圖片描述

adaptation_field_control - 2bit - 11

  • 此2 比特字段指示此傳輸流包頭是否后隨自適應字段和/或有效載荷


    這里寫圖片描述
  • 解碼器應丟棄具有adaptation_field_control 字段設置為‘00’值
    的傳輸流包。
  • 在空包的情況中毁嗦,adaptation_field_control 的賦值應為‘01’亲茅。

**continuity_counter - 4bit - 0000 **

  • 隨著具有相同PID 的每個傳輸流包而增加
  • 當包的adaptation_field_control 為‘00’或‘10’時,
    continuity_counter 不增加狗准。

data_byte

//adaptation_field + body
07 50 00 00 80 F7 7E 00 00 00 01 E0 00 00 80 80 05 21 00 07 F0 0D 00 
00 00 01 09 10 00 00 00 01 67 4D 40 33 95 A0 0F 00 10 FB 01 40 80 00 
01 F4 80 00 75 30 70 00 00 0F 42 40 00 00 F4 24 0D DE 5C 1F 1C 32 A0 
00 00 00 01 68 EE 3C 80 00 00 00 01 06 00 07 81 19 40 00 46 50 40 80 
00 00 00 01 06 01 04 00 00 08 10 80 00 00 00 01 65 B8 04 04 1F 02 EB 
03 FE 13 F0 D4 6D 2C 00 D1 DF 2D C0 00 00 03 00 00 03 00 00 03 00 00 
03 00 00 2F 3D 76 1F D0 53 29 EE 83 00 00 03 00 00 03 00 00 03 00 00 
03 00 04 30 04 00 00 03 00 00 03 00 00 05 EC 00 00 03 00 00 03 00 00

自適應字段

因為上面包頭中adaptation_field_control - 2bit - 11克锣,所以包頭之后應該有自適應字段,并且

這里寫圖片描述

這里寫圖片描述

**adaptation_field_length - 8bit - **

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末腔长,一起剝皮案震驚了整個濱河市袭祟,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌捞附,老刑警劉巖巾乳,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異鸟召,居然都是意外死亡胆绊,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進店門欧募,熙熙樓的掌柜王于貴愁眉苦臉地迎上來压状,“玉大人,你說我怎么就攤上這事跟继≈侄” “怎么了?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵还栓,是天一觀的道長碌廓。 經(jīng)常有香客問我传轰,道長剩盒,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任慨蛙,我火速辦了婚禮辽聊,結果婚禮上,老公的妹妹穿的比我還像新娘期贫。我一直安慰自己跟匆,他們只是感情好,可當我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布通砍。 她就那樣靜靜地躺著玛臂,像睡著了一般烤蜕。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上迹冤,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天讽营,我揣著相機與錄音,去河邊找鬼泡徙。 笑死橱鹏,一個胖子當著我的面吹牛,可吹牛的內容都是我干的堪藐。 我是一名探鬼主播莉兰,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼礁竞!你這毒婦竟也來了糖荒?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤模捂,失蹤者是張志新(化名)和其女友劉穎寂嘉,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體枫绅,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡泉孩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了并淋。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片寓搬。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖县耽,靈堂內的尸體忽然破棺而出句喷,到底是詐尸還是另有隱情,我是刑警寧澤兔毙,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布唾琼,位于F島的核電站,受9級特大地震影響澎剥,放射性物質發(fā)生泄漏锡溯。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一哑姚、第九天 我趴在偏房一處隱蔽的房頂上張望祭饭。 院中可真熱鬧,春花似錦叙量、人聲如沸倡蝙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽寺鸥。三九已至猪钮,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間胆建,已是汗流浹背躬贡。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留眼坏,地道東北人拂玻。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像宰译,于是被迫代替她去往敵國和親檐蚜。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,490評論 2 348

推薦閱讀更多精彩內容

  • 摘要 該配置文件定義了支持高質量音頻分發(fā)所需的Bluetooth?設備的要求沿侈。這些要求以終端用戶服務的方式表達闯第,并...
    公子小水閱讀 9,517評論 0 4
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn)缀拭,斷路器咳短,智...
    卡卡羅2017閱讀 134,629評論 18 139
  • 做這個東西很久了,從去年十二月份開始的蛛淋,快5個月了咙好。。褐荷。期間因為工作一直斷斷續(xù)續(xù)勾效,直到最近才有了些進展,也就到此為...
    0_0啊閱讀 12,369評論 1 13
  • 數(shù)字電視有哪幾種層次的碼流?如何形成叛甫?各自特點层宫? ES (Elementary Stream) — 數(shù)字電視各組成...
    Annnnnn閱讀 2,897評論 0 2
  • 剪秋燈,床下點檢寒蟄其监。玉簞上萌腿,幾多凄苦,哪堪和夢送長風抖苦。月勾更撩人毁菱,洗去千里流聲。依墻色睛约,已是三更鼎俘,拈一悟葉知蘭成...
    皮卡超閱讀 357評論 0 0