![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ffplayer
文章平均质量分 81
leek5533
这个作者很懒,什么都没留下…
展开
-
FFmpeg之时间戳详解
这个要链接我之前的文章:ffmpeg的pts之解析_leek5533的博客-CSDN博客结合FFmpeg时间戳详解 - 叶余 - 博客园梳理一下时间戳,首先要有一定的I B P帧概念,和timebase 及timescale的认识,3. FFmpeg 中的时间基与时间戳3.1 时间基与时间戳的概念在 FFmpeg 中,时间基(time_base)是时间戳(timestamp)的单位,时间戳值乘以时间基,可以得到实际的时刻值(以秒等为单位)。例如,如果一个视频帧的 dts 是 40,p原创 2021-09-24 17:40:27 · 1561 阅读 · 0 评论 -
FFmpeg的player之decoder_decode_frame()
目录一、大致逻辑如下:二、发送失败重新发送packet这个函数顾名思义:解码一、大致逻辑如下:1、从video_queue里获取packet,:packet_queue_get();2、发送packet给decoder :decoder_send_packer();3、从decoder去获取,:decoder_receive_frame();这个看代码时候可能顺序不一样,这个是因为一些工程的原因:比如://流连续的情况下,不断调用avcodec_receive.原创 2021-09-23 17:39:21 · 630 阅读 · 0 评论 -
ffmpeg的player之video_refresh()
目录1、音视频同步的实现2、丢帧的时机3、这部分的代码4、自己打印的log这里有两个地方值得注意1、音视频同步的实现音视频同步关键点在计算显示时间:remaining_time;这个时间是video refresh的sleep时间,默认0.01s,也就是10ms,一刷新,一个fps=24的video,一帧差不多是0.041708s,那么得用4次刷新,但是,第五次怎么办,就得计算remaining_time了,第五次可以让0.001708s后刷新一次,这个计算是(*rema原创 2021-09-18 18:10:23 · 490 阅读 · 0 评论