如何将1080p WMV视频转换为720p视频?


14

我有一个1080p wmv视频,我想将其转换为质量较低的视频(最好是720p)。我想保持音频完好无损。如何在Ubuntu中完成此操作?

Answers:


16

由于您使用了ffmpeg标签,因此我将使用它作为答案。

ffmpeg -i input.wmv -s hd720 -c:v libx264 -crf 23 -c:a aac -strict -2 output.mp4

通过指定其他CRF参数来更改视频质量。有关更多信息,请参见x264编码指南


1
选项“ sameq”已删除。如果要寻找保留质量的选项(这不是-sameq的目的),请使用-qscale 0或等效的质量因数选项。
juanmah 2013年

根据ffmpeg的wiki,它可以很简单:ffmpeg -i input.avi -vf scale=-1:720 output.avi
andersonvom

4

自从2012年对此问题的最初公认答案以来,时间已经过去了一点。使用FFmpeg的“ scale”视频过滤器会更好。

我在下面给出一个使用此过滤器的示例,该过滤器还可以根据您的要求简单地复制音轨:

ffmpeg -i input.wmv \
       -c:v libx264 -preset veryslow -tune film -crf 22 -vf scale=-2:720 \
       -c:a copy \
       output.mp4

-tune film上面给出的选项可以省略,也可以-tune animation根据所使用的视频片段的类型进行尝试。

如果你决定,你想转码音频一个不错的选择是使用外部库libfdk_aac如下:

ffmpeg -i input.wmv \
       -c:v libx264 -preset veryslow -tune film -crf 22 -vf scale=-2:720 \
       -c:a libfdk_aac -b:a 128k \
       output.mp4

当然,这就是我要缩放的wmv文件所执行的操作,您会发现结果超出可接受范围...


1

如果您想保持所有音轨,字幕等完整无缺,则应使用以下格式:

ffmpeg -i input.mkv \
       -map 0:0 -map 0:1 -map 0:2 -map 0:3 -map 0:4 \
       -vf scale=-1:720 -c:v libx264 -crf 18 -preset veryslow \
       -c:a:0 copy -c:a:1 copy -c:s copy \
       output.mkv

在这种情况下,input.mkv文件具有两个音轨和两个字幕。您可以一一指定所有音轨(或字幕,视频等),也可以将其指定为一个实体(如我为字幕指定的那样)。

希望能帮助到你...


1
您无需按照上述方式指定每个流:-map 0:0 -map 0:1 -map 0:2 -map 0:3 -map 0:4 相反,您可以简单地指定-map 0。这将自动选择输入0中的所有流。类似于音频复制编解码器。您需要指定的唯一编解码器选项是 -c:copy -c:v libx264。这意味着:“将所有流编解码器设置为要复制,但应转码为x264的视频除外。”
Cheekysoft '16

等效项(显示参数顺序):ffmpeg -i input.mkv -map 0 -vf scale=-1:720 -c:copy -c:v libx264 -crf 18 -preset veryslow output.mkv
Cheekysoft '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.