国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

Python合并ts文件至mp4格式及解密教程詳解

瀏覽:2日期:2022-06-15 13:16:01

m3u8是什么格式?m3u8是蘋果公司推出的視頻播放標(biāo)準(zhǔn),是m3u的一種,只是編碼格式采用的是UTF-8。

使用m3u8格式文件主要因?yàn)榭梢詫?shí)現(xiàn)多碼率視頻的適配,視頻網(wǎng)站可以根據(jù)用戶的網(wǎng)絡(luò)帶寬情況,自動(dòng)為客戶端匹配一個(gè)合適的碼率文件進(jìn)行播放,從而保證視頻的流暢度。

Python合并ts文件至mp4格式及解密教程詳解

m3u8準(zhǔn)確來說是一種索引文件,使用m3u8文件實(shí)際上是通過它來解析對應(yīng)的放在服務(wù)器上的視頻網(wǎng)絡(luò)地址,從而實(shí)現(xiàn)在線播放。

它將視頻切割成一小段一小段的ts格式的視頻文件,然后存在服務(wù)器中(現(xiàn)在為了減少I/o訪問次數(shù),一般存在服務(wù)器的內(nèi)存中),通過m3u8解析出來路徑,然后去請求。

合并 ts 文件其實(shí)有很多種方法,有一些教程直接使用 cmd 的 copy 命令直接合并 ts 文件:

copy /b movie*.ts movie_new.ts

這個(gè)方法雖然可以合并,但是無法轉(zhuǎn)化為 mp4 格式,而且也有可能出現(xiàn)視頻缺損的情況。因此本文將講解如何使用 ffmpeg 合并 ts 文件為mp4格式,使用 ffmpeg 也能有效防止視頻出現(xiàn)缺損的問題。

1.準(zhǔn)備

開始之前,你要確保Python和pip已經(jīng)成功安裝在電腦上

如果你用Python的目的是數(shù)據(jù)分析,可以直接安裝Anaconda

安裝ffmpeg

Mac (打開終端(Terminal), 用 homebrew 安裝):

brew install ffmpeg --with-libvorbis --with-sdl2 --with-theora

Linux:

apt-get install ffmpeg libavcodec-extra

Windows:

1. 進(jìn)入 http://ffmpeg.org/download.html#build-windows,點(diǎn)擊 windows 對應(yīng)的圖標(biāo),進(jìn)入下載界面點(diǎn)擊 download 下載按鈕,2. 解壓下載好的zip文件到指定目錄3. 將解壓后的文件目錄中 bin 目錄(包含 ffmpeg.exe )添加進(jìn) path 環(huán)境變量中4. DOS 命令行輸入 ffmpeg -version, 出現(xiàn)以下界面說明安裝完成:

Python合并ts文件至mp4格式及解密教程詳解

2.簡單合并ts文件

使用 ffmpeg 合并一些 ts 文件非常簡單,你只需要在終端輸入一行命令即可:

ffmpeg -f concat -i file_list.txt -c copy output.mp4

其中 file_list.txt 為如下格式文本文件:

file ’input1.ts’file ’input2.ts’file ’input3.ts’

我們可以用 Python 腳本生成這個(gè) file_list.txt:

import osfilePath = '你的ts視頻存放路徑'file_list = sorted(os.listdir(filePath))with open('你的ts視頻存放路徑/file_list.txt','w+') as f: for file in file_list:f.write('file ’{}’n'.format(file))

注意,這個(gè) file_list.txt 需要和你的 ts 視頻存放在同一個(gè)目錄下,然后 cd 進(jìn)入此目錄,并執(zhí)行上面提到過的 ffmpeg 合并轉(zhuǎn)換命令:

ffmpeg -f concat -i file_list.txt -c copy output.mp4

3.解密處理

上面我們講的是沒有經(jīng)過加密的 ts 文件,這些文件下載后直接可以播放,但經(jīng)過AES-128加密后的文件下載后會(huì)無法播放,所以還需要進(jìn)行解密。

如何判斷是否需要加密?觀察視頻網(wǎng)站是否有m3u8的文件傳輸,下載下來并打開:

#EXTM3U#EXT-X-VERSION:3#EXT-X-TARGETDURATION:13#EXT-X-MEDIA-SEQUENCE:0 //這里是注釋,真實(shí)文件里不會(huì)有的,//看看你的m3u8文件里有沒有這一行,如果有的話,這個(gè)m3u8文件是加密的,請繼續(xù)往下看//如果沒有這行的話,特別是沒有這個(gè)#EXT-X-KEY,那么恭喜你,這個(gè)m3u8沒有加密,你直接按本文教程第二點(diǎn)合并即可#EXT-X-KEY:METHOD=AES-128,URI='http://www.example.com/20180125/key.key' #EXTINF:12.5,//下面的這個(gè)其實(shí)才是視頻真正的地址,你放在瀏覽器地址欄上直接回車是可以直接下載的//不過這樣的鏈接在m3u8文件里會(huì)有很多,建議使用工具下載(迅雷)、ffmpeg、vlc等//這里還可能出現(xiàn)GBDYO3576000.ts這種情況,其實(shí)是把前面的路徑省略了,可根據(jù)m3u8文件的路徑自行加上http://www.example.com/20180125/GBDYO3576000.ts#EXTINF:12.5,http://www.example.com/20180125/GBDYO3576001.ts#EXTINF:12.5,http://www.example.com/20180125/GBDYO3576002.ts

如果你的文件是加密的,那么你還需要一個(gè)key文件,Key文件下載的方法和m3u8文件類似,如下所示 key.key 就是我們需要下載的 key 文件,并注意這里 m3u8 有2個(gè),需要使用的是像上面一樣存在 ts 文件超鏈接的 m3u8 文件:

下載所有 ts 文件,將下載好的所有的 ts 文件、m3u8、key.key 放到一個(gè)文件夾中,將 m3u8 文件改名為 index.m3u8,將 key.key 改名為 key.m3u8 。更改 index.m3u8 里的 URL,變?yōu)槟惚镜芈窂降?key 文件,將所有 ts 也改為你本地的路徑,如下所示:

#EXTM3U#EXT-X-VERSION:3#EXT-X-TARGETDURATION:13#EXT-X-MEDIA-SEQUENCE:0#EXT-X-KEY:METHOD=AES-128,URI='e:/20180125/key.m3u8'#EXTINF:12.5,e:/20180125/GBDYO3576000.ts#EXTINF:12.5,e:/20180125/GBDYO3576001.ts#EXTINF:12.5,e:/20180125/GBDYO3576002.ts

然后用ffmpeg進(jìn)行合并:

ffmpeg -allowed_extensions ALL -i index.m3u8 -c copy new.mp4

這樣就大功告成了!我們成功解密并使用 ffmpeg 合并了這些 ts 視頻片段,實(shí)際應(yīng)用場景可能和這不一樣,希望我們這篇文章能起到拋磚引玉的作用。

到此這篇關(guān)于Python合并ts文件至mp4格式及解密教程的文章就介紹到這了,更多相關(guān)Python合并ts文件至mp4內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 日韩在线二区 | 成人国产精品一区二区网站 | 曰本女同互慰高清在线观看 | 亚洲一区二区三区久久久久 | 国产成人黄色 | 精品伊人久久久久网站 | 国产精品视频久久 | 在线观看a网站 | 日韩国产片 | 一道精品视频一区二区三区图片 | 久草在线免费新视频 | 国产亚洲精品看片在线观看 | 爱视频福利广场 | 在线播放一区二区精品产 | 91久久国产露脸精品免费 | 韩国精品欧美一区二区三区 | 欧美成人一区二区三区 | 午夜影院免费体验 | 草草视频在线观看最新 | 国产黄a三级三级三级 | 美女又黄又免费视频 | 亚洲视频在线免费 | 自拍偷在线精品自拍偷无码专区 | 久久这里一区二区精品 | 香港日本韩国三级网站 | 欧美在线高清 | 久久国产网站 | 草草视频在线观看 | 欧美视频成人 | 国产亚洲欧美另类久久久 | 亚洲伦理天堂 | 国产精品路边足疗店按摩 | 久久国产情侣 | 免费国产成人综合 | 99热在线观看 | 波多野结衣被强在线视频 | 美欧毛片 | 亚洲视频在线视频 | 欧美在线视频一区 | 日韩精品无码一区二区三区 | 91精品国产91久久 |