背景:公司需要上一些视频资源,平均每一个都在600m以上,经过考虑以后采取视频分片以后上传到oss上进行加速播放的流程.这里记录一下使用ffmpeg进行转换视频格式的过程中的一些命令.
准备工作:
下载ffmpeg到本地,以及配置ffmpeg到环境变量中,这里就不多说了.
使用的时候先打开cmd把目录切换到需要转换的视频的所在目录,比如我的目录是E:\大道家园音视频,那么就是
1)mp4转ts格式
ffmpeg -y -i 003-480.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 003\out.ts
其他的命令就不多说了,感兴趣的可以自己百度ffmpeg命令参数,这里就针对拿来使用的角度做一个说明.
003-480.mp4 要转换的视频
003\out.ts 转换后的视频名称以及存放位置,这里存放到了003目录下的out.ts文件
2)ts文件分割成小的视频文件
ffmpeg -i 003\out.ts -c copy -map 0 -f segment -segment_list 003\003.m3u8 -segment_time 30 003\003_%3d.ts
003\out.ts:ts文件路径,这里如果你使用cmd切换到了003目录那就可以不带003
003\003.m3u8:生成的m3u8名称
-segment_time 30 分割以后一个文件的时长,单位是s(这里的时长并不是精准的,而是会根据视频帧自动坐下调整)
003\003_%3d.ts 分割以后的文件的格式