1.日志显示
1.1 命令行
-loglevel [flags+]loglevel | -v [flags+]loglevel
#ffmpeg-4.2\fftools\cmdutils.c |
![]() |
Line 00508 or 00514: 定位日记的级别关键字“loglevel”或者”v” |
#ffmpeg-4.2\fftools\cmdutils.c |
|
Line 00873到00883: 定义日记的级别,传入的是name,如debug,verbose
Line 00901到00917: 设置/去除日记的标志键值”repeat”和”level”
Line 00928到00933: 映射日记等级,从name到level |
1.2 标志和级别
(1)可选的标志(flag)
![]() |
标志也可以单独使用,添加'+'/' - '前缀来设置/重置单个标志,而不会影响其他标志或更改日志级别。 设置flags和loglevel时,最后一个标志值和loglevel之间应该有一个'+'分隔符
(2)级别
![]() |
1.3 示例
要启用重复日志输出,添加级别前缀,并为loglevel设置verbose:
ffplay -loglevel repeat+level+verbose E:\work\video_clip\1-container\mp4\h264\h264_1280x720.mp4
2. 日志输出到文件
2.1 日志文件按系统时间命名
-report
将完整命令行和控制台输出转储到当前目录中名为program-YYYYMMDD-HHMMSS.log的文件;
日志级别为-loglevel debug;
2.2 日志文件按传入文件名来命名
FFREPORT=file=<文件名>:level=<级别整数值>
#ffmpeg-4.2\fftools\cmdutils.c |
|
Line 00076: 报告中日志级别默认为debug |
Line 00518: 设定环境变量FFREPORT
Line 00992~01019 “file”关键字,其携带键值作为日志文件名 “level”关键字,其携带键值作为日志级别
Line 01203: filename_template不为空,所以av_x_if_null返回的filename_template
Line 01022: expand_filename_template第二个参数是filename_template,所以走00973,这样返回的结果就是filename_template |
Line 00517: 定位日志的选项关键字”report”,不带键值
Line 00990: 获取时间
Line 01023: filename_template为空,所以av_x_if_null返回的"%p-%t.log"
Line 01022: expand_filename_template第二个参数是"%p-%t.log",所以走Line00961到00967,这样返回的结果就是<program-YYYYMMDD-HHMMSS>.log |
2.3 示例
ffplay FFREPORT=file=ffreport.log:level=32 E:\work\video_clip\1-container\mp4\h264\h264_1280x720.mp4