FFmpeg 如何禁用视频输出?
FFmpeg How disable video output?
对于ffmpeg 4.3.1
,我想使用“blackframe”滤镜。
每次在输入视频中检测到黑帧时,此过滤器都会在控制台中输出文本结果。
ffmpeg -i Input.avi -filter_complex "blackframe" Output.mkv
> [Parsed_blackframe_1 @ 0x7ff48c607a80] frame:206 pblack:100 ...
我不需要创建 Output.mkv 视频,因为控制台结果就足够了。
不幸的是,我无法在文档中找到如何禁用输出视频并仍然 运行 过滤器。从主要选项部分 https://www.ffmpeg.org/ffmpeg.html#Main-options 和我在其他地方尝试过的示例:
-f null
- 或文档
-pass
选项示例中的-y NUL
选项
但是 none 这些命令有效:
ffmpeg -i Video.avi -filter_complex "black frame" -f null
> Filter blackframe has an unconnected output
ffmpeg -i Video.avi -filter_complex "black frame" -y NUL
> [NULL @ 0x7ffbe7026200] Unable to find a suitable output format for 'NUL'
> NUL: Invalid argument
如何禁用视频输出?
它在文档中的什么地方有解释?
在 Linux:
ffmpeg -i Video.avi -filter_complex "blackframe" -pass 1 -an -f rawvideo -y /dev/null
结果:
[Parsed_blackframe_0 @ 0x6e11940] frame:1 pblack:100 pts:2 t:0.041708 type:P last_keyframe:0
[Parsed_blackframe_0 @ 0x6e11940] frame:2 pblack:100 pts:4 t:0.083417 type:P last_keyframe:0
[Parsed_blackframe_0 @ 0x6e11940] frame:3 pblack:100 pts:6 t:0.125125 type:P last_keyframe:0
[Parsed_blackframe_0 @ 0x6e11940] frame:4 pblack:100 pts:8 t:0.166833 type:P last_keyframe:0
[Parsed_blackframe_0 @ 0x6e11940] frame:5 pblack:100 pts:10 t:0.208542 type:P last_keyframe:0
[Parsed_blackframe_0 @ 0x6e11940] frame:6 pblack:100 pts:12 t:0.250250 type:P last_keyframe:0
[Parsed_blackframe_0 @ 0x6e11940] frame:7 pblack:100 pts:14 t:0.291958 type:P last_keyframe:0
[Parsed_blackframe_0 @ 0x6e11940] frame:8 pblack:100 pts:16 t:0.333667 type:P last_keyframe:0
[Parsed_blackframe_0 @ 0x6e11940] frame:9 pblack:100 pts:18 t:0.375375 type:P last_keyframe:0
[Parsed_blackframe_0 @ 0x6e11940] frame:10 pblack:100 pts:20 t:0.417083 type:P last_keyframe:0
[Parsed_blackframe_0 @ 0x6e11940] frame:11 pblack:100 pts:22 t:0.458792 type:P last_keyframe:0
[Parsed_blackframe_0 @ 0x6e11940] frame:12 pblack:100 pts:24 t:0.500500 type:I last_keyframe:12
[Parsed_blackframe_0 @ 0x6e11940] frame:13 pblack:100 pts:26 t:0.542208 type:P last_keyframe:12
[Parsed_blackframe_0 @ 0x6e11940] frame:14 pblack:100 pts:28 t:0.583917 type:P last_keyframe:12
该命令指定无音频,然后将原始视频转储到/dev/null
ffmpeg 文档:
https://ffmpeg.org/ffmpeg.html#Video-Options 参见:-pass
Windows 上的命令声称是 -y NUL
而不是 -y /dev/null
但我无法测试它。
您在 null
尝试中缺少输出 url。只需添加一个 -
即
ffmpeg -i Video.avi -vf "blackframe" -f null -
由于您是 运行 单个流上的过滤器,-vf
就可以了。
对于ffmpeg 4.3.1
,我想使用“blackframe”滤镜。
每次在输入视频中检测到黑帧时,此过滤器都会在控制台中输出文本结果。
ffmpeg -i Input.avi -filter_complex "blackframe" Output.mkv
> [Parsed_blackframe_1 @ 0x7ff48c607a80] frame:206 pblack:100 ...
我不需要创建 Output.mkv 视频,因为控制台结果就足够了。
不幸的是,我无法在文档中找到如何禁用输出视频并仍然 运行 过滤器。从主要选项部分 https://www.ffmpeg.org/ffmpeg.html#Main-options 和我在其他地方尝试过的示例:
-f null
- 或文档
-pass
选项示例中的-y NUL
选项
但是 none 这些命令有效:
ffmpeg -i Video.avi -filter_complex "black frame" -f null
> Filter blackframe has an unconnected output
ffmpeg -i Video.avi -filter_complex "black frame" -y NUL
> [NULL @ 0x7ffbe7026200] Unable to find a suitable output format for 'NUL'
> NUL: Invalid argument
如何禁用视频输出?
它在文档中的什么地方有解释?
在 Linux:
ffmpeg -i Video.avi -filter_complex "blackframe" -pass 1 -an -f rawvideo -y /dev/null
结果:
[Parsed_blackframe_0 @ 0x6e11940] frame:1 pblack:100 pts:2 t:0.041708 type:P last_keyframe:0
[Parsed_blackframe_0 @ 0x6e11940] frame:2 pblack:100 pts:4 t:0.083417 type:P last_keyframe:0
[Parsed_blackframe_0 @ 0x6e11940] frame:3 pblack:100 pts:6 t:0.125125 type:P last_keyframe:0
[Parsed_blackframe_0 @ 0x6e11940] frame:4 pblack:100 pts:8 t:0.166833 type:P last_keyframe:0
[Parsed_blackframe_0 @ 0x6e11940] frame:5 pblack:100 pts:10 t:0.208542 type:P last_keyframe:0
[Parsed_blackframe_0 @ 0x6e11940] frame:6 pblack:100 pts:12 t:0.250250 type:P last_keyframe:0
[Parsed_blackframe_0 @ 0x6e11940] frame:7 pblack:100 pts:14 t:0.291958 type:P last_keyframe:0
[Parsed_blackframe_0 @ 0x6e11940] frame:8 pblack:100 pts:16 t:0.333667 type:P last_keyframe:0
[Parsed_blackframe_0 @ 0x6e11940] frame:9 pblack:100 pts:18 t:0.375375 type:P last_keyframe:0
[Parsed_blackframe_0 @ 0x6e11940] frame:10 pblack:100 pts:20 t:0.417083 type:P last_keyframe:0
[Parsed_blackframe_0 @ 0x6e11940] frame:11 pblack:100 pts:22 t:0.458792 type:P last_keyframe:0
[Parsed_blackframe_0 @ 0x6e11940] frame:12 pblack:100 pts:24 t:0.500500 type:I last_keyframe:12
[Parsed_blackframe_0 @ 0x6e11940] frame:13 pblack:100 pts:26 t:0.542208 type:P last_keyframe:12
[Parsed_blackframe_0 @ 0x6e11940] frame:14 pblack:100 pts:28 t:0.583917 type:P last_keyframe:12
该命令指定无音频,然后将原始视频转储到/dev/null
ffmpeg 文档: https://ffmpeg.org/ffmpeg.html#Video-Options 参见:-pass
Windows 上的命令声称是 -y NUL
而不是 -y /dev/null
但我无法测试它。
您在 null
尝试中缺少输出 url。只需添加一个 -
即
ffmpeg -i Video.avi -vf "blackframe" -f null -
由于您是 运行 单个流上的过滤器,-vf
就可以了。