启用OpenCV ffmpeg日志记录

kx1ctssn  于 2022-11-24  发布在  其他
关注(0)|答案(2)|浏览(179)

我正在使用带有FFMPEG的python OpenCV来流式传输RTSP视频流。
我想查看ffmpeg日志记录,看看ffmpeg引擎盖下发生了什么。
如何启用此日志记录?

but5z9lq

but5z9lq1#

你好你可以设置那些env变量:

export OPENCV_VIDEOIO_DEBUG=1
export OPENCV_FFMPEG_DEBUG=1
export OPENCV_LOG_LEVEL=DEBUG
cvxl0en2

cvxl0en22#

实际上,控制ffmpeg日志记录和OpenCV视频相关部分的完整环境变量集如下所示:

  • OPENCV_LOG_LEVEL(通用OpenCV日志级别,例如:详细说明)
  • OPENCV_VIDEOIO_DEBUG(设置为1以启用视频IO模块的调试)
  • OPENCV_FFMPEG_DEBUG(设置为1以启用ffmpeg后端调试)和
  • OPENCV_FFMPEG_LOGLEVEL需要一个数字值。您可以从以下定义中选择一个(从ffmpeg源代码中剥离):
#define AV_LOG_QUIET    -8
    #define AV_LOG_PANIC     0
    #define AV_LOG_FATAL     8
    #define AV_LOG_ERROR    16
    #define AV_LOG_WARNING  24
    #define AV_LOG_INFO     32
    #define AV_LOG_VERBOSE  40
    #define AV_LOG_DEBUG    48
    #define AV_LOG_TRACE    56

因此,对于调试级别,您必须执行以下操作:

export OPENCV_FFMPEG_LOGLEVEL=48

您可能还需要以下变量:

export OPENCV_VIDEOWRITER_DEBUG=1
export OPENCV_VIDEOCAPTURE_DEBUG=1

Sooo..对于OpenCV/videoio/ffmpeg的最大日志记录:

export OPENCV_VIDEOIO_DEBUG=1
export OPENCV_FFMPEG_DEBUG=1
export OPENCV_LOG_LEVEL=VERBOSE
export OPENCV_FFMPEG_LOGLEVEL=56

但是,您可以使用更多的环境变量来更好地了解正在发生的事情。下面是我用于调试的其他变量的集合:

export OPENCV_OPENCL_RAISE_ERROR=1
export OPENCV_OPENCL_ABORT_ON_BUILD_ERROR=1
export OPENCV_DUMP_ERRORS=1
export OPENCV_DUMP_CONFIG=1
export OPENCV_TRACE=1
export OPENCV_TRACE_DEPTH_OPENCV=1
export OPENCV_TRACE_SYNC_OPENCL=1

相关问题