我有一个脚本可以下载在线视频的多个 ts 部分,将它们连接成 mp4 文件
ffmpeg -f concat -safe 0 -i <(printf "file '$PWD/%s'\n" ./*.ts) -c copy "${filename}.mp4"
但是,我喜欢使用 x265 来减小磁盘大小。我玩过它,但我无法让它在这个单行命令中也转换为 x265。
我尝试添加类似-c:v libx265 -c:a copy
而不是 generic 的标志-c copy
,但这给了我错误。根据阅读其他一些问题,似乎我需要事先映射?
编辑:我能够让它做我想做的事,但不确定它是最好的选择,还是最有效的。
ffmpeg -f concat -safe 0 -i <(printf "file '$PWD/%s'\n" ./*.ts) -map 0:v:0 -map 0:a? -map 0:s? -preset fast -c:v libx265 -c:a copy -c:s copy -crf 25 -bsf:a aac_adtstoasc "${filename}.mp4"