LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1879|回复: 3

realtang和其他大虾,请问如何在qt把ffmpeg解码的帧显示出来?

[复制链接]
发表于 2008-11-25 10:00:15 | 显示全部楼层 |阅读模式
公司有一个项目需要编写在framebuffer模式下运行的可以播放视频的qt-embedded应用程序,我对qt,ffmpeg,sdl都比较熟悉。知道如何在用sdl播放ffmpeg解码后的帧。
所以现在有两种方案,一种是把sdl嵌入到qt应用程序(在同一个界面里),还有一种就是把ffmpeg解码的帧直接用qt显示出来.个人比较倾向于用第二种方案去解决问题。

目前我只能走到这一步:

把帧转化为YUV格式后存放在pict中
  1. AVPicture pict;
  2. // Convert the image into YUV format that SDL uses
  3. img_convert(&pict, PIX_FMT_YUV420P, (AVPicture *)pFrame, pCodecCtx->pix_fmt, pCodecCtx->width, pCodecCtx->height);SDL_UnlockYUVOverlay(bmp);
复制代码

AVPicture的结构体里的内容是这样的,但是我不懂里面装的数据的含义,只知道里面是图片格式的二进制数据
  1. typdef struct AVPicture {
  2.   unit8_t *data[4];
  3.   int linesize[4];
  4. } AVPicture;
复制代码

下面如果使用sdl的话,可以用函数SDL_DisplayYUVOverlay就可以显示这个帧了,但是我不知道用qt如何显示。请问realtang和其他大虾能提供一些帮助吗?谢谢
发表于 2008-11-25 11:42:06 | 显示全部楼层
qt, 俺也不熟悉。我认为,第一种方案更好,更有效率,也易于实现。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-25 13:59:00 | 显示全部楼层
Post by realtang;1913398
qt, 俺也不熟悉。我认为,第一种方案更好,更有效率,也易于实现。

幸会幸会,realtang大哥好久没有和你交流啦
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-27 10:25:09 | 显示全部楼层
不用qt了,全部用sdl更方便
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表