如何通过ffmpeg将MP4转换为WMV的质量更好?

Edw*_*uay 9 mp4 ffmpeg wmv

我使用这两个重新缩放命令将MP4文件转换为WMV:

ffmpeg -i test.mp4 -y -vf scale=-1:360 test1.wmv
ffmpeg -i test.mp4 -y -vf scale=-1:720 test2.wmv
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

ffmpeg -g 1 -b 16000k -i test1.mp4 test1.wmv
Run Code Online (Sandbox Code Playgroud)

但是,生成的.wmv文件是" 块状和颗粒状的 ",您可以在视频屏幕截图的一小部分中看到:

在此输入图像描述

这些是大小:

test.mp4 - 106 MB
test1.wmv - 6 MB
test2.wmv - 16 MB
Run Code Online (Sandbox Code Playgroud)

如何提高生成的.wmv文件的质量/大小(.wmv文件的大小无关紧要)?

小智 14

请考虑以下命令(最终答案部分中的一些过时命令):

ffmpeg -i test.mp4 -c:v wmv2 -b:v 1024k -c:a wmav2 -b:a 192k test1.wmv
Run Code Online (Sandbox Code Playgroud)

参考


Edw*_*uay 13

您可以简单地使用-sameq参数("使用相同的量化器作为源")来生成更大尺寸的视频文件(227 MB),但质量非常好.

ffmpeg -sameq -i test.mp4 -y -vf scale=-1:360 test1.wmv
Run Code Online (Sandbox Code Playgroud)

  • 更好的解决方案是使用`-qscale`(或`-qscale:v`或`-q:v`,具体取决于您的语法首选项); 通常值为2-5.较低的值是较高的质量,2可以被认为是"视觉无损".`-sameq`不是设计用于不共享相同量化标度的格式之间,对您来说可能就是这种情况. (11认同)
  • -sameq已被删除.当您尝试使用它时,ffmpeg提供"使用-qscale 0或等效的质量因子选项",并且它使用无效参数错误. (3认同)
  • 你也应用`-sameq`作为输入选项(`-i`之前的任何东西).可能按预期工作,但请记住,并非应用于输入的所有选项都将应用于输出. (2认同)

sim*_*mon 10

2020 年的工作答案,生成无块的输出视频:

ffmpeg -i input.mp4 -q:v 1 -q:a 1 output.wmv
Run Code Online (Sandbox Code Playgroud)


Fab*_*llo 5

经过多次令人沮丧的提高最终质量的尝试后,我发现的一件事是,如果您不指定比特率,它将使用相当低的平均值。尝试以 -b 1000k 作为起点,然后尝试增加或减少它,直到达到所需的结果。您的文件将相应地变得更大或更小。