我有一个 1080p wmv 视频,我想将其转换为较低质量(最好是 720p)的视频。我想保留音频。如何在 Ubuntu 中实现此目的?
答案1
由于您使用了 ffmpeg 标签,因此我将使用它作为答案。
ffmpeg -i input.wmv -s hd720 -c:v libx264 -crf 23 -c:a aac -strict -2 output.mp4
通过指定不同的 CRF 参数来更改视频质量。请参阅x264 编码指南了解更多信息。
答案2
自 2012 年该问题的最初答案被接受以来,时间已经过去了一些。较新版本的 FFmpeg 最好使用 FFmpeg 的“缩放”视频过滤器。
下面我给出了一个例子,使用这个过滤器,它也很简单,副本您请求的音轨:
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 文件所做的操作,您会发现结果令人满意...
答案3
如果您想要保留所有音轨、字幕等,您应该使用如下方法:
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 文件有两个音轨和两个字幕。您可以逐个指定所有音轨(或字幕、视频等),也可以将其指定为单个实体(就像我为字幕指定的那样)。
希望能帮助到你...