4719373@163.com

4719373@163.com

0个粉丝

30

问答

0

专栏

1

资料

4719373@163.com  发布于  2017-03-03 09:39:24
采纳率 0%
30个问答
4038

求一在WINDOWS下H264 H265解码显示平滑处理的思路

   
求一在WINDOWS下H264 H265解码显示平滑处理的思路

以前用HI3516C做1080P,我是这样处理的:
  一个线程收取音视频数据,然后传入3个队列,
  一个线程队列录像;
  一个线程队列播放音频;
  一个线程队列解码视频及上屏显示
  解码用的是ffmpeg软解码
  上屏显示用的是DirectDraw
  由于1080P图像解码并不太占资源,在我的电脑上,基本一个I帧约40ms,运行剧烈画面的P帧也约

30~40ms,静态画面P帧约10~17ms
  所以,将解码和上屏显示放到一个线程中,没什么问题,画面很平滑。

  现在做HI3516A+IMX178 500W时,问题来了:
还是采用上面的处理方式:
  一个线程收取音视频数据,然后传入3个队列,
  一个线程队列录像;
  一个线程队列播放音频;
  一个线程队列解码视频及上屏显示
  解码用的是ffmpeg软解码
  上屏显示用的是DirectDraw
H264:
  由于2592x1944 500W图像解码时,在我的电脑上,基本一个I帧约50~80ms,运行剧烈画面的P帧也

约50~80ms,静态画面P帧约15~35ms,
  这样,由于某些帧解码时间太长,图像就一顿一顿的。
H265:
  H265就不用谈了,软解码,时间基本上是H264的两倍。

我的解决办法是:
  将解码、上屏显示这一个线程再拆分为两个线程,一个专门解码、一个专门上屏显示。


但是存在的问题是:
  avcodec_decode_video2输出的AVFrame中data只有两个缓存地址在不停地来回切,
  如果我将解码后的YUV420或RGB32数据自己拷贝到一个缓存中,
  一张500W的有近20M,系统内存也会吃不消,拷贝效率也低。


  求思路……
我来回答
回答4个
时间排序
认可量排序

4719373@163.com

0个粉丝

30

问答

0

专栏

1

资料

4719373@163.com 2017-03-06 18:22:40
认可0
自己顶一下

blacktulip7

0个粉丝

3

问答

0

专栏

0

资料

blacktulip7 2017-03-07 00:15:48
认可0
看你的描述500W像素的情况关键帧解码要50-80ms,运动场景下p帧要50~80ms,一秒钟30帧的情况下,肯定是要卡的
觉得你讲解码显示一个线程拆成两个线程应该效果不好,搞不好更加卡;
把你录像存下来的文件用其他的通用播放器播放看看,如果用其他播放器都卡的话,说明你的cpu太渣,无解;如果其他的播放器不卡,CPU还有比较大的余量的话,
看看优化ffmpeg解码,看看ffmpeg的编译选项里面有没有加上汇编,硬件支持之类的;
还有就是减少数据的copy,解出来的图像直接拿去显示,不要copy来copy去,不太了解Windows,听说似乎直接直接显示yuv的数据,那样就可以省去yuv转rgb了,如果不行的话,rgb32也不要用了,用rgb1555,会节省一半的总线带宽;
OK,就这么多,现在的CPU这么强,应该不是问题

lovelypp

0个粉丝

0

问答

0

专栏

0

资料

lovelypp 2017-03-27 12:07:51
认可0
肯定要分两个线程搞的

4719373@163.com

0个粉丝

30

问答

0

专栏

1

资料

4719373@163.com 2017-03-12 12:32:42
认可0
这个问题搞定了,拆成两个线程,一个解码,一个显示,图像很平滑,就是有点吃内存
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区