h264流在centos下播放问题

wangsky2 2013-12-26 10:18:36
用ffmpeg接收设备传送过来的h264码流,能够正常解码,显示则是用的opengl,现在的问题是显示时调整窗口大小后,视频就停止。

思想:用ffmpeg接收设备的h264码流,返回rgb流,然后贴到矩形上方法display(),再调用settimer函数,反复调用display函数,达到实时显示图像的目的
但是在centos下,在实时显示图像的同时,只要调整窗口大小,视频就停止
在windows下,则没有这个问题。
...全文
233 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangsky2 2013-12-30
  • 打赏
  • 举报
回复
引用 1 楼 q191201771 的回复:
没用过opengl 提供点思路 rgb只能代表一个点 你所说的rgb流如何表示成长X宽的一幅图给opengl 另外自己用定时器刷新静态图模拟显示视频也不是一个好方式 一般视频控件都会提供接口,你往里面丢rgb就行
定时器刷新静态图模拟显示视频也不是一个好方式 的确觉得这种刷新方法不是很好 glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, lWidth,lHeight, 0, GL_RGB, GL_UNSIGNED_BYTE,yuvbuf); 这个可以贴到所画的矩形上 lwidth 长 lheight 宽 ffmepg解码后就能得到这两个,,yuvbuf,存储的rbg数据
wangsky2 2013-12-30
  • 打赏
  • 举报
回复
引用 楼主 wangsky2 的回复:
用ffmpeg接收设备传送过来的h264码流,能够正常解码,显示则是用的opengl,现在的问题是显示时调整窗口大小后,视频就停止。 思想:用ffmpeg接收设备的h264码流,返回rgb流,然后贴到矩形上方法display(),再调用settimer函数,反复调用display函数,达到实时显示图像的目的 但是在centos下,在实时显示图像的同时,只要调整窗口大小,视频就停止 在windows下,则没有这个问题。
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, lWidth,lHeight, 0, GL_RGB, GL_UNSIGNED_BYTE,yuvbuf); 这个可以贴到所画的矩形上 lwidth 长 lheight 宽 ffmepg解码后就能得到这两个,,yuvbuf,存储的rbg数据
雷霄骅 2013-12-27
  • 打赏
  • 举报
回复
可以使用SDL显示试试~ 我总结的经验: [总结]FFMPEG视音频编解码零基础学习方法
就想叫yoko 2013-12-26
  • 打赏
  • 举报
回复
没用过opengl 提供点思路 rgb只能代表一个点 你所说的rgb流如何表示成长X宽的一幅图给opengl 另外自己用定时器刷新静态图模拟显示视频也不是一个好方式 一般视频控件都会提供接口,你往里面丢rgb就行

23,121

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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