Google VP9 ffmpeg 示例错误

Google VP9 ffmpeg 示例错误

关于 Google 开发者 vp9 文档这里,推荐的命令ffmpeg命令行似乎格式不正确。

在我看来,像这样的命令

ffmpeg -i tears_of_steel_1080p.webm -vf scale=320x240 -b:v 150k \
  -minrate 75k -maxrate 218k -tile-columns 0 -g 240 -threads 2 \
  -quality good -crf 37 -c:v libvpx-vp9 -c:a libopus \
  -pass 1 -speed 4 tos-320x240.webm && \
ffmpeg -i tears_of_steel_1080p.webm -vf scale=320x240 -b:v 150k \
  -minrate 75k -maxrate 218k -tile-columns 0 -g 240 -threads 2 \
  -quality good -crf 37 -c:v libvpx-vp9 -c:a libopus \
  -pass 2 -speed 1 -y tos-320x240.webm

实际上应该更接近于

ffmpeg -i tears_of_steel_1080p.webm -vf scale=320x240 -b:v 150k \
  -minrate 75k -maxrate 218k -tile-columns 0 -g 240 -threads 2 \
  -quality good -crf 37 -c:v libvpx-vp9 -c:a libopus \
  -pass 1 -speed 4 -y /dev/null && \
ffmpeg -i tears_of_steel_1080p.webm -vf scale=320x240 -b:v 150k \
  -minrate 75k -maxrate 218k -tile-columns 0 -g 240 -threads 2 \
  -quality good -crf 37 -c:v libvpx-vp9 -c:a libopus \
  -pass 2 -speed 1 tos-320x240.webm

这是基于 ffmpeg 文档这里

然而引用谷歌文档页面

请注意,第一遍和第二遍命令是串联在一起的。当 FFMpeg 要求用输出视频覆盖第一遍统计文件时,第二遍命令中的 -y 参数回答“是”。

根据我对 ffmpeg 中 two pass 的理解,“统计”文件默认位于 ffmpeg2pass-0.log 中,而实际输出文件是无用的。

libvpx-vp9 编码器使用的两遍设置与 ffmpeg 中的标准设置不同吗?还是 Google 开发者页面有误?

答案1

这似乎是一次语言不当的案例。”首次通过的统计文件“可能指的是统计过程中生成的编码输出,而不是统计文件。是的,编码输出不是统计数据的存储,可以安全地丢弃或根本不写入磁盘。

请注意,这-y仅涉及已处理的媒体输出文件,不适用于编码器首次通过生成的统计文件、vstats_file、-report 或任何分析过滤器文件转储(如过滤器psnr)。如果存在,后者将始终被覆盖。

相关内容