ffmpeg - 如何禁用 libx264 stderr 输出?

标签 ffmpeg libavcodec libav libavformat libx264

我正在编写一个使用 ffmpeg 库接口(interface)(libavcodec、libavformat、libavutil 等)来操作一些视频的库。其中一部分涉及我使用 libx264 的一些编码。一切都很好,但 libx264 将输出写入 stderr,例如:

[libx264 @ 0x62cbc0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 AVX512
[libx264 @ 0x62cbc0] profile High, level 5.0, 4:2:0, 8-bit
[libx264 @ 0x62cbc0] frame I:28    Avg QP:26.78  size:144822
[libx264 @ 0x62cbc0] frame P:135   Avg QP:32.21  size: 30853
[libx264 @ 0x62cbc0] frame B:108   Avg QP:36.18  size: 15709
[libx264 @ 0x62cbc0] consecutive B-frames: 20.3% 79.7%
[libx264 @ 0x62cbc0] mb I  I16..4:  9.5% 75.9% 14.6%
[libx264 @ 0x62cbc0] mb P  I16..4:  1.1%  1.5%  1.4%  P16..4: 44.8%  9.6%  4.2%  0.0%  0.0%    skip:37.5%
[libx264 @ 0x62cbc0] mb B  I16..4:  0.3%  0.2%  0.4%  B16..8: 49.8%  4.6%  0.9%  direct: 1.0%  skip:42.7%  L0:46.9% L1:49.8% BI: 3.2%
[libx264 @ 0x62cbc0] final ratefactor: 26.71
[libx264 @ 0x62cbc0] 8x8 transform intra:68.4% inter:70.4%
[libx264 @ 0x62cbc0] direct mvs  spatial:87.0% temporal:13.0%
[libx264 @ 0x62cbc0] coded y,uvDC,uvAC intra: 76.2% 73.8% 31.6% inter: 9.7% 9.5% 4.2%
[libx264 @ 0x62cbc0] i16 v,h,dc,p:  9% 57%  7% 27%
[libx264 @ 0x62cbc0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu:  9% 21%  4%  8%  9%  7% 12%  7% 22%
[libx264 @ 0x62cbc0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 13% 28%  9%  6%  6%  6% 10%  6% 16%
[libx264 @ 0x62cbc0] i8c dc,h,v,p: 20% 50% 19% 11%
[libx264 @ 0x62cbc0] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x62cbc0] ref P L0: 73.2% 12.6% 10.0%  2.7%  1.1%  0.3%
[libx264 @ 0x62cbc0] ref B L0: 92.3%  5.6%  1.7%  0.4%
[libx264 @ 0x62cbc0] kb/s:7912.01

我的库写入 stdout 或 stderr 是 Not Acceptable 。如何以编程方式禁用此输出到 stderr?

我意识到我可以“劫持”stderr,但这似乎是一个粗暴的黑客行为,我强烈不想这样做。

最佳答案

x264 有命令行参数 --quiet 。如果用作库,则相当于 set

param->i_log_level = X264_LOG_NONE;

关于ffmpeg - 如何禁用 libx264 stderr 输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53875298/

相关文章:

video - 为什么 libavcodec 只能提供时间戳的估计值?

ffmpeg - FFMPEG libavcodec 解码然后重新编码视频问题

c++ - FFMPEG RTSP 使用 libx264 流到 MPEG4/H264 文件

ffmpeg - ffmpeg 升级后解码器崩溃

go - fatal error : 'libavcodec/avcodec.h' file not found caused by zergon321/reisen

c++ - 如何区分 Libav/ffmpeg 中相同的相机?

audio - FFmpeg concat 带水印和音频 "stream specifier in filtergraph description matches no streams."

php - 有没有一个好的库可以用 php 分割一个 mp3

ffmpeg - 在 FFmpeg 配置命令中启用 MP4 解复用器

audio - 使用 libavcodec 将 .m4a 转换为 PCM