日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

FFmpeg總結(jié)(九)用ffmpeg進(jìn)行切片生成m3u8索引文件

 AHFDR 2019-05-05

在直播和點播中,通常后臺并不會直接給一個http://./xxx.mp4這樣的url給客戶端,而是通過m3u8索引列表,給客戶端。今天來通過ffmpeg進(jìn)行切片生成m3u8索引文件。

首先將視頻文件轉(zhuǎn)為視頻編碼h.264,音頻編碼aac格式的mp4文件
1、使用ffprobe查看文件編碼方式

這里寫圖片描述

2、如果不是mp4的,可以用如下命令進(jìn)行轉(zhuǎn)

ffmpeg -i input.mkv -acodec copy -vcodec copy out.mp4
  • 1

3、將mp4轉(zhuǎn)為完整的ts

ffmpeg -i out.mp4 -c copy -bsf h264_mp4toannexb output.ts  
  • 1

為什么要用-bsf h264_mp4toannexb,主要是因為使用了mp4中的h264編碼,而h264有兩種封裝:
一種是annexb模式,傳統(tǒng)模式,有startcode,SPS和PPS是在ES中;另一種是mp4模式,一般mp4、mkv、avi會沒有startcode,SPS和PPS以及其它信息被封裝在container中,每一個frame前面是這個frame的長度,很多解碼器只支持annexb這種模式,因此需要將mp4做轉(zhuǎn)換;在ffmpeg中用h264_mp4toannexb_filter可以做轉(zhuǎn)換;所以需要使用-bsf h264_mp4toannexb來進(jìn)行轉(zhuǎn)換;

4、將ts切片,并生成m3u8文件

ffmpeg -i output.ts -c copy -map 0 -f segment -segment_list playlist.m3u8 -segment_time 5 output%03d.ts
  • 1

其中segment 就是切片,-segment_time表示隔幾秒進(jìn)行切一個文件,上面命令是隔5s,你也可以調(diào)整成更大的參數(shù)。

這里寫圖片描述

切片完成后如下所示:

這里寫圖片描述

完整ts文件播放如下:

這里寫圖片描述

使用生成的m3u8索引播放如下:

這里寫圖片描述

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多