已在vs_2019编译好ffplay源码
编译方法详见https://blog.csdn.net/yao_hou/article/details/104631816
实现功能:在ffplay.c中打出从ffplay被调用到显示出第一帧画面所需时间的log
用到的函数:
av_gettime_relative()
av_log()
一. 修改源码:
1. 在代码开头定义全局变量ffplay_start_time;
int64_t ffplay_start_time;
2. 找到main函数,在开头添加两行代码
ffplay_start_time = av_gettime_relative();
av_log(NULL, AV_LOG_INFO, "ffplay start time:%d(in ms)\n", ffplay_start_time / 1000);
3.找到video_display函数
在video_image_display(is);后面添加一行代码:
av_log(NULL, AV_LOG_INFO, "current video frame relative display time: %d(in ms)\n", (av_gettime_relative()-ffplay_start_time)/1000);
二. 测试运行
在属性-调试中写入要运行的命令行,输入文件为本机的MP4测试文件
运行结果:
可以看出,从初始调用到输出第一帧画面显示有大约1秒的延迟,由于音画同步的原因,每两帧画面显示的间隔时间也不相同