ffmpeg教程:视频切片与合并
原链接:
https://blog.csdn.net/weixin_50684992/article/details/132362215
1、ffmpeg安装教程
1.1 下载地址
Releases · BtbN/FFmpeg-Builds (github.com)
1.2 ffmpeg环境配置
复制ffmpeg解压后的路径
配置ffmpeg环境变量:高级系统设置>环境变量>双击系统变量Path>新建>粘贴>确认
2、视频分割成ts文件
2.1 准备mp4文件
part.mp4
2.2 打开当前目录cmd命令窗口
输入命令:
ffmpeg -i part.mp4 -c:v libx264 -c:a aac -strict -2 -f hls -hls_list_size 0 -hls_time 5 part.m3u8
默认的每片长度为 2 秒,m3u8 文件中默认只保存最新的 5 条片的信息,导致最后播放的时候只能播最后的一小部分(直播的时候特别注意)。
-hls_time n 设置每片的长度,默认值为 2,单位为秒。
-hls_list_size n 设置播放列表保存的最多条目,设置为 0 会保存有所片信息,默认值为5。
-hls_wrap n 设置多少片之后开始覆盖,如果设置为0则不会覆盖,默认值为0。这个选项能够避免在磁盘上存储过多的 片,而且能够限制写入磁盘的最多的片的数量。
-hls_start_number n 设置播放列表中 sequence number 的值为 number,默认值为 0。
注意:播放列表的 sequence number 对每个 segment 来说都必须是唯一的,而且它不能和片的文件名(当使用 wrap 选项时,文件名有可能会重复使用)混淆。
TS 文件是一种媒体的扩展名,它是日本高清摄像机拍摄下进行的封装格式。
MPEG2-TS(Transport Stream“传输流”;又称TS、TP、MPEG-TS 或 M2T)
是用于音效、图像与数据的通信协定,最早应用于DVD的实时传送节目。
MPEG2-TS格式的特点就是要求从视频流的任一片段开始都是可以独立解码的。
3、根据m3u8文件合并ts文件
3.1 准备文件
3.2 输入命令
ffmpeg -i part.m3u8 -c copy 2.mp4