监控收集了很多视频,但是每个只有16秒,坑的啊,想检查嫌弃麻烦,决定合并后在看,然后就发现,其实没有很多顺手的工具,就自己摸索吧。
最后思路如此
FFmpeg 从mp4转ts,然后合成ts到mp4,因为mp4不支持直接1+1=2那种模式,为啥,自己搜去吧。
所有视频放到一个目录下,然后批量转ts
for i in *.mp4;
do name=`echo "$i" | cut -d'.' -f1`
echo "$name"
ffmpeg -i "$i" -vcodec copy -acodec copy -vbsf h264_mp4toannexb "${name}.ts"
done
生成一个所有文件的列表
list.txt
内部格式为
file 'path/1.ts'
file 'path/2.ts'
然后执行
ffmpeg -safe 0 -f concat -i list.txt -c copy output.mp4
此处如果不加-safe 0会报错
至此任务完成,至于效果,,,自己研究吧
网友评论