利用ffmpeg解码H264,花屏

UINT CMP4File::VideoCap_Thread_Fun(void* pParam)

{

CMP4File  *pMP4File=(CMP4File*)pParam;

//初始化AVPacket

av_init_packet(&pMP4File->m_AVPacket);

int nFrameFinished = 0;

while(true)

{

if(av_read_frame(pMP4File->m_pFormatCtx, &(pMP4File->m_AVPacket)) >=0)     {

int    nDecodeResult=avcodec_decode_video2(pMP4File->m_pCodecContext, pMP4File->m_pFrame,

&nFrameFinished, &(pMP4File->m_AVPacket));

if(nDecodeResult>0)

{

if(nFrameFinished>0)

{

int  iReturn=sws_scale(pMP4File->m_pSwsContext, pMP4File->m_pFrame->data,

pMP4File->m_pFrame->linesize, 0, pMP4File->m_nFrameHeight,

pMP4File->m_pRGBFrame.data, pMP4File->m_pRGBFrame.linesize);

AVFRAME_INFO      pFrame;

memset(&pFrame, 0, sizeof(AVFRAME_INFO));

int  m=1980, n=1080;

pFrame.uWidth=pMP4File->m_nFrameWidth;

pFrame.uHeight=pMP4File->m_nFrameHeight;

//显示

unsigned char*   outStream = (unsigned char*)(pMP4File->m_pRGBFrame.data[0]);

pMP4File->Drawer(&pFrame, outStream);

av_free_packet(&pMP4File->m_AVPacket);

}

}//if

}

return  0;

}

1 花屏的原因

2 视频的类型,如H264、MPEG,视频流的长度,在那个函数获得?

3 其实是播放MP4文件,提供解码MP4文件类似的代码吗?

谢谢!

------解决方案--------------------

avcodec_decode_video2返回的是处理的字节数,这个要去ffmpeg的头文件里面找。

意思:

avcodec_decode_video2(AVCodecContext,解码后AVFrame,是否成功?,解码前AVPacket)

ffmpeg 切片花屏_利用ffmpeg解码H264,花屏,该如何解决相关推荐

  1. Android录屏并利用FFmpeg转换成gif(一)录屏

    Android录屏并利用FFmpeg转换成gif(一) 录屏 写博客时经常会希望用一段动画来演示app的行为,目前大多数的做法是在电脑上开模拟器,然后用gif录制软件录制模拟器屏幕,对于非开发人员来讲 ...

  2. Android录屏并利用FFmpeg转换成gif(三) 在Android中使用ffmpeg命令

    Android录屏并利用FFmpeg转换成gif(三) 写博客时经常会希望用一段动画来演示app的行为,目前大多数的做法是在电脑上开模拟器,然后用gif录制软件录制模拟器屏幕,对于非开发人员来讲这种方 ...

  3. Android录屏并利用FFmpeg转换成gif(二)交叉编译FFmpeg源码

    Android录屏并利用FFmpeg转换成gif(二) 写博客时经常会希望用一段动画来演示app的行为,目前大多数的做法是在电脑上开模拟器,然后用gif录制软件录制模拟器屏幕,对于非开发人员来讲这种方 ...

  4. Android录屏并利用FFmpeg转换成gif(四) 将mp4文件转换成gif文件

    Android录屏并利用FFmpeg转换成gif(四) 写博客时经常会希望用一段动画来演示app的行为,目前大多数的做法是在电脑上开模拟器,然后用gif录制软件录制模拟器屏幕,对于非开发人员来讲这种方 ...

  5. ffmpeg rtmp 花屏_使用FFMPEG进行视频转码

    Note: 此文章首发于我的个人博客zhi-hua.wang ,开放转载但需附上出处. 使用FFMPEG进行视频转码 - 日落孤城​www.zhi-hua.wang FFMPEG 是一款开源的视频处理 ...

  6. ffmpeg命令 抓屏_使用FFmpeg从视频中截图的命令 | 学步园

    截取一张352x240尺寸大小的,格式为jpg的图片: ffmpeg -i test.asf -y -f image2 -t 0.001 -s 352x240 a.jpg 把视频的前30帧转换成一个A ...

  7. ffmpeg实现摄像头拉流_利用ffmpeg一步一步编程实现摄像头采集编码推流直播系统...

    了解过ffmpeg的人都知道,利用ffmpeg命令即可实现将电脑中摄像头的画面发布出去,例如发布为UDP,RTP,RTMP等,甚至可以发布为HLS,将m3u8文件和视频ts片段保存至Web服务器,普通 ...

  8. oc引导windows蓝屏_人人都会遇到系统蓝屏问题,教大家自已排除蓝屏,学会一辈子受用...

    一.造成电脑蓝屏有那些? 1.在这里我跟大家聊聊,我想只要自已有电脑人都会遇到电脑蓝屏问题,那怎么排除蓝屏问题?首先要找到电脑蓝屏的原因才针对性的处理,引起电脑蓝屏的原因有很多: 2.硬件方面有:电脑 ...

  9. android app防止锁屏_如何控制Android不锁屏

    锁定屏幕对于移动终端来说是非常有必要的,但是对于机顶盒产品就没有这个必要了.所以本文介绍一下怎样让Android设备永不锁屏. Android系统的锁屏时间存放在Setting数据库中,字段为Sett ...

最新文章

  1. 好看的linux操作系统,Deepin 20 - 外媒称它是最漂亮的Linux操作系统
  2. app 注册防刷 php,手机验证码设计和防刷制度
  3. 网页性能优化04-函数节流
  4. restful json_Dropwizard:轻松的RESTful JSON HTTP Web服务
  5. 如何单元测试Java的private方法
  6. mongotemplate中save抛出异常_异常处理的三个好习惯 | Python 工匠
  7. 6-10 阶乘计算升级版(20 分)
  8. UNICODE与ANSI的区别
  9. windows下vbs脚本隐藏控制台
  10. python 爬取妹子图
  11. 价值连城 生成对抗网络(Gans) 的作者Ian Goodfellow的采访 给深度学习从业者的建议
  12. windows和Linux下西部数据C1门解决方法
  13. 有没有什么好用的pdf编辑软件?3款App轻松编辑所有PDF文件
  14. 手把手教你封装属于自己的Windows7安装镜像
  15. layui上传文件的choose只触发一次
  16. Web大学生网页作业成品——易购商城网站设计与实现(HTML+CSS+JavaScript)
  17. 【论文导读】Learning to Localize Sound Source in Visual Scenes
  18. C#获取字符串的拼音和首字母
  19. APP搭建:输入文字,单击显示(Android studio)
  20. 数字信号与模拟信号的区别(转载)

热门文章

  1. MRT与MRTS工具官宣退休,推荐使用HEG
  2. mysql dialect配置_一步一步升级配置14:Mysql数据库,hibernate.dialect使用MySQL5_MySQL
  3. win11如何开启管理员账户
  4. java正则表达式匹配数字和小数点,快来收藏!
  5. 文心大模型之我们一起来玩谐音梗
  6. uninitialized urandom read
  7. 连接器信号完整性仿真教程 一
  8. 2A同步降压锂电池充电可完全替代松朗微SLM6500
  9. eset文件服务器,eset架设ftp更新服务器
  10. 计算机图形Opengl的实验报告,opengl计算机图形学实验报告之3D漫游世界.doc