
ffmpeg将mp4视频文件切割成m3u8关联的ts文件的命令流程如下:
命令格式:ffmpeg -i input.mp4 -c copy -map 0 -f segment -segment_list output.m3u8 -segment_time duration .\output\output_%3d.ts
其中,-i input.mp4表示输入文件为input.mp4。
-c copy表示复制输入文件的编码,不进行重新编码。
-map 0表示选取所有流,包括视频、音频、字幕等。
-f segment表示输出为分割片段。
-segment_list output.m3u8表示输出m3u8播放列表文件名为output.m3u8。
-segment_time duration表示每个ts文件的时长为duration秒。
命令格式:ffmpeg -i input.mp4 -c copy -map 0 -vbsf h264_mp4toannexb -f hls -hls_time 60 -hls_list_size 0 -hls_segment_filename .\output\output_%03d.ts .\output\output.m3u8
命令将input.mp4文件转换为HLS格式,片段保存在.\output目录下,生成一个名为output.m3u8的播放列表文件。
每个ts片段时长为60秒,所有片段均包含在播放列表中。这样,mp4文件就被切割成m3u8关联的ts文件,便于进行网络流媒体传输。