Windows 上的 ffmpeg 两遍视频编码

Windows 上的 ffmpeg 两遍视频编码

尽管如此,根据互联网和论坛上的大量说明,我还是遇到了这个问题。
ffmpeg -y -i input.mp4 -vcodec libvpx-vp9 -crf 31 -minrate 1500k -maxrate 4350k -pix_fmt yuv420p10le -colorspace 9 -slices 4 -color_range 2 -tile-columns 2 -quality good -g 240 -c:a libopus -b:a 128k -pass 1 NUL && ^ ffmpeg -i input.mp4 -vcodec libvpx-vp9 -crf 31 -minrate 1500k -maxrate 4350k -pix_fmt yuv420p10le -colorspace 9 -color_range 2 -tile-columns 3 -slices 4 -quality good -g 240 -map_metadata:g -1 -map_metadata:s:v -1 -map_metadata:s:a -1 -map_chapters -1 -c:a libopus -b:a 128k -pass 2 output.mp4
我是 Windows 用户。大多数人在 Linux 上使用 ffmpeg,因此两次编码使用/dev / null。我不感兴趣,因为在 Windows 上它不起作用。按照 trac-page ffmpeg 上的说明进行阅读(trac.ffmpeg.org)。 它说:

注意。Windows 用户应使用 NUL 代替 / dev / null ,使用 ^ 代替 \ 。

但它没有帮助。我用过:

NUL

NULL

/dev/NUL

/dev/NULL

但无济于事。看来我失望了,从来没有完全沉浸在对 ffmpeg 的研究中。(最近才开始探索)。

有相同的主题,那里也说你需要使用 NUL。(点击

屏幕(我没有 10 个代表):
1 屏幕
2 屏幕

在这种情况下,我请求专业人士的帮助。否则,仍然需要折磨模拟器......

答案1

FFmpeg 尝试根据输出文件名检测输出容器格式,但由于 NUL 不是实际文件名,因此必须指定格式。您可以使用空复用器。

ffmpeg -y -i input.mp4 -vcodec libvpx-vp9 -crf 31 -minrate 1500k -maxrate 4350k -pix_fmt yuv420p10le -colorspace 9 -slices 4 -color_range 2 -tile-columns 2 -quality good -g 240 -c:a libopus -b:a 128k -pass 1 -f null NUL && ffmpeg -i input.mp4 -vcodec libvpx-vp9 -crf 31 -minrate 1500k -maxrate 4350k -pix_fmt yuv420p10le -colorspace 9 -color_range 2 -tile-columns 3 -slices 4 -quality good -g 240 -map_metadata:g -1 -map_metadata:s:v -1 -map_metadata:s:a -1 -map_chapters -1 -c:a libopus -b:a 128k -pass 2 output.mp4

(我还没有检查你的其他参数)

相关内容