mac端ffmpeg批量合成ts生成MP4

查到了一些类似
for %a in ("*.mp4") do ffmpeg -i "%a"-threads 2 -vcodec libx264 -preset slow -crf 20 -y "newfiles%~na.mp4"
的命令但是没有成功 会报错


image.png

一般合并ts生成mp4可以使用这个命令

ffmpeg -i "concat:file001.tsfile002.ts|file003.ts|file004.ts" -acodec copy -vcodec copy -absf aac_adtstoasc out.mp4

但是如果是很多的ts文件,拼接命令文本就非常麻烦

于是找到了这种方法
现在终端执行下面的命令,然后终端会把路径下的ts文件名拼接好,把命令文本输出出来

ls * | perl -nale 'chomp;push @[a](https://www.v2ex.com/member/a), $_;END{printf "ffmpeg -i \"concat:%s\" -acodec copy -vcodec copy -absf aac_adtstoasc out.mp4\n", join("|",@a)}'
image.png

然后复制粘贴执行

如果实在太长,有两三百个以上的ts文件,可以分开合并,200个一组,合成多个mp4
然后需要把MP4转换为无损ts,再继续合并ts文件

//MP4转换ts
ffmpeg -i 1.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 1.ts
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。