在直播和点播中,通常后台并不会直接给一个http://xxx.xxx.xxx.xxx/xxx.mp4这样的url给客户端,而是通过m3u8索引列表,给客户端。今天来通过ffmpeg进行切片生成m3u8索引文件。

    首先将视频文件转为视频编码h.264,音频编码aac格式的mp4文件
    1、使用ffprobe查看文件编码方式
    用ffmpeg进行切片生成m3u8索引文件 - 图1

    2、如果不是mp4的,可以用如下命令进行转

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

    3、将mp4转为完整的ts

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

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

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

    其中segment 就是切片,-segment_time表示隔几秒进行切一个文件,上面命令是隔5s,你也可以调整成更大的参数。
    用ffmpeg进行切片生成m3u8索引文件 - 图2

    切片完成后如下所示:
    用ffmpeg进行切片生成m3u8索引文件 - 图3


    如约智惠.png