ffmpeg的avcodec_decode_video花屏时线程死掉

zhimintang 2011-10-22 02:41:27
本人用avcodec_decode_video进行H264的解码,正常播放时没问题,但长期花屏(短时间花屏的话线程不会挂,超过2分钟的话就容易挂)的话该线程会挂掉。部分代码如下,日志跟踪结果是线程死掉的日志最后只打印“-in-”,大牛们有什么好的建议。万分感谢!

FILE *pFileIn;
char filenameIn[MAX_PATH];
sprintf(filenameIn,"avcodec_decode_video %d.txt",GetCurrentThreadId());
pFileIn = fopen(filenameIn,"a+");
char *pcharIn = "-in-\n";
fwrite(pcharIn,1,strlen(pcharIn),pFileIn);
fclose(pFileIn);

length = avcodec_decode_video(pCodecContext,pVideoFrame, &got_picture,data, size);

FILE *pFileOut;
char filenameOut[MAX_PATH];
sprintf(filenameOut,"avcodec_decode_video %d.txt",GetCurrentThreadId());
pFileOut = fopen(filenameOut,"a+");
char *pcharOut = "-out-\n";
fwrite(pcharOut,1,strlen(pcharOut),pFileOut);
fclose(pFileOut);
...全文
489 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
rightorwrong 2012-04-11
  • 打赏
  • 举报
回复
花屏,要么是你数据有问题,要么就是丢帧
avcodec_decode_video是对一帧进行解码,需要的数据是完整的一帧
黑泡泡选手 2012-04-11
  • 打赏
  • 举报
回复
楼上说得对,可能是数据有问题·
louyily 2012-04-10
  • 打赏
  • 举报
回复
把帧数据 先塞给av_parser_parse2 做下parse试试

2,542

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧