TS后綴的是高清電影,TS文件是MPEG2-TS流,可以直接修改文件后綴名播放。是日本高清攝像機拍攝下進行的封裝格式。支持 TS 的開源播放器有 VLC media player 。播放前,先將TS流文件的后綴名改為 .mpg,以便播放器可以識別它是一個MPEG文件,否則一些"以貌取人"的播放器可能會拒絕提供服務(wù)。MPEG-TS主要應(yīng)用于實時傳送的節(jié)目,比如實時廣播的電視節(jié)目。 TS即是"Transport Stream"的縮寫。它是分包發(fā)送的,每一個包長為188字節(jié)。在TS流里可以填入很多類型的數(shù)據(jù),如視頻、音頻、自定義信息等。他的包的結(jié)構(gòu)為,包頭為4個字節(jié),負載為184個字節(jié)。制定TS流標準的機構(gòu)就規(guī)定了一些數(shù)據(jù)結(jié)構(gòu)來定義。比如: PSI(Program Specific Information)表,所以解析起來就像這樣: 先接收一個負載里為PAT的數(shù)據(jù)包,在整個數(shù)據(jù)包里找到一個PMT包的ID。然后再接收一個含有PMT的數(shù)據(jù)包,在這個數(shù)據(jù)包里找到有關(guān)填入數(shù)據(jù)類型的ID。之后就在接收到的TS包里找含有這個ID的負載內(nèi)容,這個內(nèi)容就是填入的信息。根據(jù)填入的數(shù)據(jù)類型的ID的不同,在TS流復(fù)合多種信息是可行的。關(guān)鍵就是找到標識的ID號。
Transport stream (TS)就是準槍版,多數(shù)是在空的影院錄制,或是用專業(yè)攝像機在投影室錄制。除了使用外置的音源(一般是影院座椅上為聽力不好的人設(shè)的耳機孔),TELESYSNC(TS)和CAM的標準是相同的。這個直接的音源并不能保證是好的音源,這是它因為受到很多背景噪音的干擾。很多時候TS是在空的影院錄制,或是用專業(yè)攝像機在投影室錄制,所以圖象質(zhì)量可能比CAM好。質(zhì)量的起伏可能很大。
Ts文件合并
1、DOS命令合并分割。
第一步:首先,來整理我們的分割檔,我們以TS格式為例:把分割檔按照順序重命名為:1.ts、2.ts、3.ts、......N.ts(N只是代表一個數(shù)罷了,沒有特殊意義,有幾個分割檔就依此類推~),哦哦,差點忘了,需要整合的分割檔,統(tǒng)一放到一個目錄下呀。
第二步:在此目錄下,我們新建一個文本文檔,就是后綴名為txt的文件。打開,我們輸入: copy /b 1.ts+2.ts+3.ts.....+N.ts xxx.ts
下面是大家應(yīng)該注意的地方:copy和/b之間有一個空格,/b和
1.ts之間有一個空格,N.ts和xxx.ts之間有一個空格,
剩下的都沒有空格,[+]是加號,[xxx.ts]是合并后文件的文件名。所以,大家也可以輸入成你要儲存成的文件名。 這么解釋后,大家對于輸入的編碼就大致能明白什么意思了吧?呵呵。(1+2+3....+n=xxx)
第三步:輸入完畢后,儲存文本,文件名隨意,關(guān)閉。將后綴名
txt,更改為bat,這個就是Windows的批量處理文件了。雙擊運行,我們會看見分割檔會在逐漸合并為完整檔!
優(yōu)點:HD視頻合并的軟件很多,但真正無損的合并軟件很少,為了避免此類事件發(fā)生呢,我們利用DOS
來合并分割檔,只要是親們的資源是完整檔分割的(一定要是整版的分割呀,千萬不要以為東拼西湊的
CUT,這個法子也能用,絕對不可能嘛~),合并后絕對無損耗,一個字節(jié)都不會損失。此方法我屢試不爽。XP系統(tǒng)下無問題,Win7的嘛,我木有用過。(PS:裝有Win7系統(tǒng)的機子偶是用來工作的。不下東東,所以沒有試過,不過應(yīng)該沒問題。)
2、打開tsmuxergui,首先add xxxx.disk1.ts ,然后點 append 依次 加 入 xxxx.disk2.ts 直到全部append 所有TS完成!
網(wǎng)絡(luò)中流傳的HDTV主要以兩類文件的方式存在,一類是經(jīng)過MPEG-2標準壓縮,以.tp和.ts為后綴的視頻流文件(圖2),一類是經(jīng)過WMV-HD(Windows Media Video High Definition)標準壓縮過的.wmv文件,還有少數(shù)文件后綴為.avi或.mpg,其性質(zhì)與.wmv是完全一樣的。 HDTV文件都比較大,即使是經(jīng)過重新編碼過后的.wmv文件也非同小可。以一部普通電影的時間長度來計算,.wmv文件將會有4G以上,而同樣時間長度的.tp和.ts文件能達到8G以上,有的甚至達到20多G。因此,除了通過文件后綴名,還可以通過文件大小來判斷是否為HDTV文件。 如何在個人電腦上播放HDTV節(jié)目? 對于.wmv文件,只要系統(tǒng)安裝了Windows Media Player 9 或更高版本,就可以正常播放(圖3),一些播放軟件的最新版本已經(jīng)開始支持WMV-HD,如WINDVD6等,也可以直接使用這些軟件播放HDTV(圖4)。有些HDTV文件在壓縮過程中采用了其它標準的編碼格式,就需要安裝對應(yīng)的解碼器,遇到Windows Media Player 9不能正常播放時,可以再安裝ffdshow(圖5),它帶有各種最常用的解碼器。 播放以.tp和.ts為后綴的視頻流文件要稍微麻煩一點,因為文件中分別包含有AC3音頻信息和MPEG-2視頻信息。好在現(xiàn)下有已經(jīng)不少專門播放.tp和.ts文件的軟件問世了,Moonlight-Elecard MPEG Player 就是其中一款比較常見的支持HDTV播放的軟件,目前最新的版本為2.x(圖6)。安裝完后,也可以運行其它播放軟件來調(diào)用Moonlight-Elecard MPEG Player的解碼器進行播放。
總下簡單的說就是,解析ts的過程就是通過找到PAT表,從PAT表中找出對應(yīng)存在的節(jié)目的id,按照這些id找到這些節(jié)目的PMT表,從中獲到這些節(jié)目總的相對的媒體數(shù)據(jù)id,然后通過這些id,再從ts文件中找到這些文件的es數(shù)據(jù),來完成解碼或者別的什么操作。
如圖:
ts文件,將每個數(shù)據(jù)包分成188個字節(jié)來發(fā)送。ts文件格式如圖:
從圖中可以看到 ts文件頭分為包頭和負載兩部分,現(xiàn)在我們詳細看下包頭結(jié)構(gòu):
sync_btye固定為0x47 ,說明從這個字節(jié)后的188個字節(jié)都屬于一個ts包。 比較重要的是PID這個字段,共13位,表示了這個ts包負載數(shù)據(jù)的類型,如果沒有這個信息,無法再后續(xù)尋找我們想要的數(shù)據(jù)。調(diào)整字段的作用稍后會看到。這里先跳過介紹吧,其他的字段對于ts的學(xué)習(xí)可以先不研究,不是很重要。
現(xiàn)在我們看看,PAT表的結(jié)構(gòu):
TS的解析工作,一般都是從找PAT表開始,所以,要先找到負載中頭個字節(jié)是0x00的,就說明找到PAT表了。section_length表示從這個字段開始后有幾個字節(jié),如果不滿188個字節(jié),就用0xff填滿。可以發(fā)現(xiàn)去掉最后4位的crc校驗位從section_number之后的5個字節(jié)開始,就是這個ts文件中縮有的節(jié)目了,每兩個字節(jié)代表一個節(jié)目,從中很容易獲取到節(jié)目的ID信息。