我正在尝试将所有不同格式和质量的视频文件转换为一种半标准格式。幸运的是,avconv 使这变得相当容易。这是我正在使用的命令:
IFS=$'\n';
for i in *;
do avconv -stats -y -i $i -acodec ac3 -ab 192k -c:v libx264 -crf 23 -s:v 1136x640 converted/${i%%.*}.mp4;
done
但是,有一个问题:由于所有源文件的质量都不同,有时源文件的分辨率或音频质量可能低于我使用的参数(192k/1136x640)。在我看来,当我们有一个源文件,例如 161k/640x480 时,avconv 将尝试增加其分辨率和音频比特率。不过,我可能错了,如果是这样,请纠正我。
我想知道是否有一种简单的方法(即 avconv 的命令行参数)可以“做正确的事情”,以便源文件为 256k/1920x1080 时将其转换为 192k/1136x640,但当源文件为 161k/640x480 时,它只会将其转换为给定格式的 161k/640x480?截至目前,我只有一个 python 脚本,它使用 mediainfo 获取信息,然后自动选择正确的音频比特率和分辨率,然后将它们作为参数传递给 avconv。
先感谢您!