
FFmpeg
niansiqiao
Talk is cheep, show me the code.
展开
-
avcodec_decode_video2()解码视频后丢帧的问题解决
使用libav转码视频时发现一个问题: 使用下面这段代码解码视频时,视频尾巴上会丢掉几帧。 1234567while(av_read_frame(ifmt_ctx,&packet) >= 0){ ret = avcodec_decode_video2(video_dec_ctx, vframe, &got_frame, &packet); if (got_fra转载 2015-01-12 07:59:43 · 1669 阅读 · 0 评论 -
ffplay.c函数结构简单分析(画图)
FFplay是FFmpeg项目提供的播放器示例。尽管FFplay只是一个简单的播放器示例,它的源代码的量也是不少的。之前看代码,主要是集中于某一个“点”进行研究,而没有从总体结构上进行分析。本文就打算弥补之前学习的不足,从总体结构上分析一下FFplay的源代码,画图理一下它的结构。其中还有诸多不足,以后有机会慢慢完善。 说明一下自己画的结构图的规则:图中仅画出了比较重要的函数之间的调用关系。粉红转载 2015-01-12 07:52:43 · 750 阅读 · 0 评论 -
使用ffmpeg进行图像格式转换以及图像缩放/sws_scale/linux/c++/c/rgb-yuv420
转自:http://blog.youkuaiyun.com/skys_broyal/article/details/10337147 利用ffmpeg进行图像数据格式的转换以及图片的缩放应用中,主要用到了swscale.h文件中的三个函数,分别是: struct SwsContext *sws_getContext(int srcW, int srcH, enum AVPixelFo转载 2014-12-15 14:48:53 · 1500 阅读 · 0 评论 -
ffplay的音视频同步分析
在ffplay里的视频图像更新是在一个timer里面更新的,当有timer事件时就会调用video_refresh_timer()函数,而在这个函数里面会调用compute_frame_delay()计算下一帧图像显示的时间 video_refresh_timer() /* launch timer for next picture */ schedule_refresh(i转载 2015-04-08 10:36:02 · 432 阅读 · 0 评论