ffmpeg解码中碰到的问题
来源:互联网 发布:access数据库 工具 编辑:程序博客网 时间:2024/06/06 03:36
最近在做摄像机实时流采集的项目,其中用到了H264解码;
项目是通过DirectShow来实现的,其中通过SampleGrabber接口提供的BuffeCB方法来获得每一帧数据;
按常理来说BufferCB中应该是完整一帧数据,但是但是在有些电脑上出现的情况却让我意外;
使用ffmpeg解码后渲染发现只要有运动物体时就会出现花屏;
同时如果降低显示器分辨率或者缩小窗口这时花屏现象就会消失;
这个问题一直困扰着我,甚至一度认为是摄像机输出的实时流存在问题。
通过下述代码可以实现不是一帧的数据的解码:
<pre name="code" class="cpp">void decodeFrame(BYTE* buffer , int bufferLen){av_init_packet(&pkt);pkt.data = buffer;pkt.size = bufferLen;av_decode_video2(pCodecCtx, pFrame, &got_picture_ptr, &pkt); //获取解码后的数据}void decode(BYTE* buffer, int bufferLen){int pos = 0;do{BYTE* pOut;int pOut_size;int len = 0;len = av_parser_parse2(m_parser, pCodecCtx, &pOut, &pOut_size,buffer + pos, bufferLen + pos, pts, dts, 0); // 这是一个很关键的方法pos += len;if(pOut_size > 0 ){decodeFrame(pOut, pOut_size); //开始解码}}while(pos < bufferLen)if(bufferLen <= 0){decodeFrame(NULL, 0);}}
0 0
- ffmpeg解码中碰到的问题
- ffmpeg 音频视频 使用过程中碰到的问题记录
- SQL中碰到的问题
- 工作中碰到的问题
- angularjs中碰到的问题
- js中碰到的问题
- FFMpeg的解码流程
- FFMpeg的解码流程
- FFMpeg的解码流程
- FFMpeg的解码流程
- FFMpeg的解码流程
- FFMpeg的解码流程
- FFMpeg的解码流程
- FFMpeg的解码流程
- FFMpeg的解码流程
- FFMpeg的解码流程
- FFMpeg的解码流程
- FFMpeg的解码流程
- Android应用开发相关下载资源
- cookie的创建和使用
- 拥抱Android:编译python搭建移动的无线服务器平台
- Java.util.concurrent包学习(三)BlockingQueue
- Yii----源码追踪
- ffmpeg解码中碰到的问题
- 微信公众平台开发(一)配置接口
- UVa #10723 Cyborg Genes (习题9-6)
- 树莓派自动连WiFi及启用远程桌面
- GitHub是如何征服Google、微软和其它公司的
- Coderforces 396A
- 通过U盘安装Fedora21 Workstation
- iOS UICollectionView 入门 04 使用UICollectionView的准备工作
- 使用Openssl的AES加密算法