ffmpeg合并当前文件夹的所有ts文件
要合并文件夹中所有的TS文件到一个MKV文件中,并确保文件名按升序排列,并统一分辨率为720*1280,请按照以下步骤进行操作:
- 确保已安装
ffmpeg
工具,它用于处理视频和音频。 - 打开终端,并进入包含TS文件的文件夹。
- 运行以下命令将所有TS文件合并为一个MKV文件:
ffmpeg -f concat -safe 0 -i <(for f in $(ls -1v *.ts); do echo "file '$PWD/$f'"; done) -c copy output.mkv
-f concat -safe 0 -i
参数指定了输入文件为一个文件列表,使用<()
进程替换语法生成合并列表。-c copy
参数表示直接复制输入流而无需重新编码。
运行完命令后,将生成一个名为output.mkv
的合并后的MKV文件,其中包含了所有的TS文件,并确保了文件名按升序排列。
- 如果您想确保统一分辨率为720*1280,并且要将小于该分辨率的文件进行放大,请使用以下命令:
ffmpeg -f concat -safe 0 -i <(for f in $(ls -1v *.ts); do echo "file '$PWD/$f'"; done) -vf "scale=w=720:h=1280:force_original_aspect_ratio=decrease,pad=720:1280:(ow-iw)/2:(oh-ih)/2" -c:v libx264 -crf 21 -preset veryfast -c:a copy output.mkv
这个命令使用ffmpeg
工具来合并文件并处理分辨率。-vf
参数指定了视频过滤器,其中scale=w=720:h=1280:force_original_aspect_ratio=decrease
将会将小于720x1280的视频进行放大,pad=720:1280:(ow-iw)/2:(oh-ih)/2
用于将放大后的视频进行居中填充,以保持720x1280的分辨率。-c:v libx264 -crf 21 -preset veryfast
设置了视频编码器和参数。
注意文件名升序,请确保文件名的数字长度统一(1.ts 10.ts 这种是不行的)