我有一个文件夹,里面有几个视频文件,有的为 .mkv,有的为 .ts,有的为 .mp4,名字各不相同。
我想将所有 ts 文件转换为同名的 mp4 文件。
我该在命令行中输入什么来使用 ffmpeg 来执行此操作?
答案1
for i in *.mkv *.ts; do ffmpeg -i $i $i.mp4; done
答案2
在 Windows 上,我使用文件转换器它使用资源管理器中的上下文菜单。我喜欢它,因为它简单、轻便,并且可以转换整个文件夹。
除了视频之外,它还适用于其他文件类型。
虽然它可以进行很多配置,但我发现它似乎不适用于 .ts 文件。
因此,对于 .ts 文件,我使用 PowerShell 脚本 (.ps1) 文件,我发现这里,使用以下命令批量转换文件夹:
$originalVids = Get-ChildItem *.ts -Recurse
foreach ($inputVid in $originalVids) {
$outputVid = [io.path]::ChangeExtension($inputVid.FullName, '.mp4')
ffmpeg.exe -i $inputVid.FullName -c:v libx264 -crf 18 -c:a aac -map_metadata 0 $outputVid
}
将.ps1 文件放在要转换的文件夹中,然后双击它。
我喜欢它,因为我们可以将其更改*.ts
为'.mp4'
任何其他视频格式,从而让我们基本上可以将任何东西转换为任何东西(从我目前发现的来看)。
虽然这种方法在转换时确实会让我的个人电脑运行困难。不过,我要补充的是,转换质量相当不错。