我正在使用python OpenCV与FFMPEG来流式传输RTSP视频流。
我想查看ffmpeg的日志记录,看看ffmpeg到底发生了什么。
如何启用日志记录?
你好,你可以设置这些env变量:
export OPENCV_VIDEOIO_DEBUG=1
export OPENCV_FFMPEG_DEBUG=1
export OPENCV_LOG_LEVEL=DEBUG
实际上,控制ffmpeg日志记录和OpenCV视频相关部分的完整环境变量集如下:
- OPENCV_LOG_LEVEL (OpenCV通用日志级别)。例如:详细)
- OPENCV_VIDEOIO_DEBUG(设置为1使能视频模块的调试)
- 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
呃呃. .查看OpenCV/video/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