【问题标题】:How to get better quality converting MP4 to WMV with ffmpeg?如何使用 ffmpeg 将 MP4 转换为 WMV 以获得更好的质量?
【发布时间】:2012-06-20 05:30:51
【问题描述】:

我正在使用以下两个缩放命令将 MP4 文件转换为 WMV

ffmpeg -i test.mp4 -y -vf scale=-1:360 test1.wmv
ffmpeg -i test.mp4 -y -vf scale=-1:720 test2.wmv

我也试过了:

ffmpeg -g 1 -b 16000k -i test1.mp4 test1.wmv

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

这些是尺寸:

test.mp4 - 106 MB
test1.wmv - 6 MB
test2.wmv - 16 MB

如何提高生成的 .wmv 文件的质量/大小(无需考虑 .wmv 文件的大小)?

【问题讨论】:

    标签: ffmpeg mp4 wmv


    【解决方案1】:

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

    ffmpeg -i test.mp4 -c:v wmv2 -b:v 1024k -c:a wmav2 -b:a 192k test1.wmv
    

    参考文献

    【讨论】:

      【解决方案2】:

      您可以简单地使用-sameq 参数(“使用与源相同的量化器”),它可以生成更大的视频文件(227 MB),但质量非常好。

      ffmpeg -sameq -i test.mp4 -y -vf scale=-1:360 test1.wmv
      

      在较新版本的 ffmpeg 标志“-sameq”已被删除。要获得类似的结果,应该使用 0 值的 'qscale' 标志:

      ffmpeg -sameq -i test.mp4 -qscale 0 -vf scale=-1:360 test1.wmv
      

      【讨论】:

      • 更好的解决方案是使用-qscale(或-qscale:v-q:v,具体取决于您的语法偏好);一般取值2-5。值越低质量越高,2 可以认为是“视觉无损”。 -sameq 不适合在不共享相同量化器比例的格式之间使用,您可能就是这种情况。
      • 另外,您正在应用-sameq 作为输入选项(-i 之前的任何内容)。可能会按预期工作,但请记住,并非所有应用于输入的选项都会应用于输出。
      • -sameq 已被删除。当您尝试使用它时,ffmpeg 提供“使用 -qscale 0 或等效的质量因子选项”,它会因参数无效而出错。
      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

        2020 年的工作答案,制作没有块状的输出视频:

        ffmpeg -i input.mp4 -q:v 1 -q:a 1 output.wmv
        

        【讨论】:

          【解决方案5】:

          我用了这个,结果很好

          ffmpeg -i "file1.mp4" -q:v 0 -c:v wmv2 -b:v 1024k -c:a wmav2 -b:a 192k test2.wmv
          

          【讨论】:

          • -q:v-b:v 是互斥的,意味着只使用一个而忽略另一个。因此,您应该选择其中之一,但不能同时选择两者。
          猜你喜欢
          • 2011-05-06
          • 1970-01-01
          • 1970-01-01
          • 2012-02-20
          • 2018-07-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-11-08
          相关资源
          最近更新 更多