当我使用ffmpeg从wmv转换为mp4时,我的音质质量很差。我的ffmpeg命令如下:
ffmpeg -fflags +genpts+igndts -i "1.wmv" -c:v libx264 -preset fast -level 30 \
-qmin 38 -qmax 55 -movflags faststart -r:v 10 -vsync 2 -async 1 -map 0:v,0:a \
-map 0:a "1.mp4"
有人建议我如何在不失去任何质量的情况下转换视频?
答案 0 :(得分:1)
您没有为音频比特率或质量设置任何选项,这意味着ffmpeg将选择配置的最佳AAC编码器(可能是libvo-aacenc
或libfaac
),它将选择默认的音频比特率。
由于您正在使用有损编解码器转换已经压缩的内容,因此您将失去更高的质量。
尝试使用-b:a 192k
或更高版本设置音频比特率。对于LC-AAC,通常128 kBit / s就足够了,但是如果您的源是压缩的。
您可能希望使用--enable-libfdk-aac
配置/编译ffmpeg并使用-b:a libfdk-aac
,并使用-vbr 4
甚至-vbr 5
。请阅读AAC encoding guide了解更多信息。
因此,例如,使用此命令。我建议您不要设置qmin
和qmax
,而应该使用CRF encoding。设置qmin
和qmax
后,您的视频质量受到太多限制:
ffmpeg -i "1.wmv" -c:v libx264 -preset fast -level 30 -crf 23 \
-c:a aac -strict experimental -b:a 192k \
-movflags faststart \
-r:v 10 "1.mp4"
我认为您确实希望将视频帧速率降低到10 fps。如果没有,请删除-r:v
。我删除了flags
和vsync
/ async
选项,因为我认为它们对您的命令不是必需的。
答案 1 :(得分:0)
使你的qmin为10,qmax为38并使用-quality good。 Qmin和Qmax是控制媒体质量的产品。你也可以包括 - 为了更好的表现,你的命令很好。
ffmpeg -fflags +genpts+igndts -i "1.wmv" -quality good -c:v libx264 -preset fast -level 30 \ -qmin 10 -qmax 38 -movflags faststart -r:v 10 -vsync 2 -async 1 -map 0:v,0:a \ -map 0:a "1.mp4"
答案 2 :(得分:-1)
进行无损转换,请设置-acodec copy
答案 3 :(得分:-2)
ffmpeg -i source.mpg -sameq output.mp4
不需要复杂的代码,以上不会影响质量。