yuv播放器 mfc

huan_88 2017-07-10 03:33:04
我想用YUV播放器实时播放采集到的视频,视频流已经解压缩,我改如何用yuv实时播放呢?也就是说我怎么把数据传给播放器呢?大家帮帮忙吧。
...全文
278 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
huan_88 2017-07-14
  • 打赏
  • 举报
回复
我视频解好了,但是图像是倒置的,上下反了,有谁知道为什么吗?
red-fly 2017-07-12
  • 打赏
  • 举报
回复
引用 3 楼 huan_88 的回复:
[quote=引用 1 楼 jszj 的回复:] 播放器没有这个功能的话,那你就没办法传入。 把解码后的图片写到文件中,然后在yuv 播放器中打开这个文件,并设定宽高和帧率进行播放
我现在把yuv数据直接转成rgb了,那怎么画到picture控件上呢?[/quote] 可以生成一个bmp图片,然后把它画到窗口上,
赵4老师 2017-07-12
  • 打赏
  • 举报
回复
Render 方法 在目标对象上绘制源图像的部分或整体。 语法 object.Render(hdc, xdest, ydest, destwid, desthgt, xsrc, ysrc, srcwid, srchgt, wbounds) Render 方法的语法包含下面部分: 部分 描述 object 必需的。对象表达式,其值是“应用于”列表中的一个对象。 hdc 必需的。指向目标对象的设备描述体的句柄。 xdest 必需的。目标对象中绘图区域左上角的 X 轴的坐标。该坐标用目标对象刻度单位。 ydest 必需的。目标对象中绘图区域左上角的 Y 轴的坐标。该坐标用目标对象。 destwid 必需的。目标对象中绘图区域的宽度,其值是用目标对象刻度单位表示的。 desthgt 必需的。目标对象中绘图区域的高度,其值是用目标对象刻度单位表示的。 xsrc 必需的。源对象中绘图区域左上角的 X 轴的坐标。单位是 HIMETRIC。 ysrc 必需的。源对象中绘图区域左上角的 Y 轴的坐标。单位是 HIMETRIC。 srcwid 必需的。源对象中绘图区域的宽度,单位是 HIMETRIC。 srchgt 必需的。源对象中绘图区域的高度,单位是 HIMETRIC。 wbounds 必需的。元文件的世界边线。在绘制元文件时,该参数应传送一个与 RECTL 结构一致的用户定义类型,其它情况下应传送为 NULL。 说明 在把图形的一部分绘制给一个目标时,推荐使用 PaintPicture 方法。
huan_88 2017-07-12
  • 打赏
  • 举报
回复
引用 1 楼 jszj 的回复:
播放器没有这个功能的话,那你就没办法传入。 把解码后的图片写到文件中,然后在yuv 播放器中打开这个文件,并设定宽高和帧率进行播放
我现在把yuv数据直接转成rgb了,那怎么画到picture控件上呢?
huan_88 2017-07-12
  • 打赏
  • 举报
回复
引用 8 楼 huan_88 的回复:
[quote=引用 7 楼 jszj 的回复:] 可以百度一下bmp图片的格式,你解码后转换成了rgb数据,离bmp图片要求的内容就很近了,所以把它转换成bmp要求的数据,然后加上bmp图片的文件头信息,就可以很方便地创建出一个CBitmap对象了,用它就很容易画到窗口上了
能不能麻烦给写几句代码呢?[/quote] if (m_pDecoder->Yuv2RGB(pYuv420Arr,iOutWidth,iOutHeight,&pRgbOut)==0) { TRACE(L"convert success\r\n"); } 上面pRgbOut是解码后的rgb数据,还有图像的尺寸,你能帮忙大概写写就行。
huan_88 2017-07-12
  • 打赏
  • 举报
回复
引用 7 楼 jszj 的回复:
可以百度一下bmp图片的格式,你解码后转换成了rgb数据,离bmp图片要求的内容就很近了,所以把它转换成bmp要求的数据,然后加上bmp图片的文件头信息,就可以很方便地创建出一个CBitmap对象了,用它就很容易画到窗口上了
能不能麻烦给写几句代码呢?
red-fly 2017-07-12
  • 打赏
  • 举报
回复
可以百度一下bmp图片的格式,你解码后转换成了rgb数据,离bmp图片要求的内容就很近了,所以把它转换成bmp要求的数据,然后加上bmp图片的文件头信息,就可以很方便地创建出一个CBitmap对象了,用它就很容易画到窗口上了
huan_88 2017-07-12
  • 打赏
  • 举报
回复
引用 5 楼 jszj 的回复:
[quote=引用 3 楼 huan_88 的回复:] [quote=引用 1 楼 jszj 的回复:] 播放器没有这个功能的话,那你就没办法传入。 把解码后的图片写到文件中,然后在yuv 播放器中打开这个文件,并设定宽高和帧率进行播放
我现在把yuv数据直接转成rgb了,那怎么画到picture控件上呢?[/quote] 可以生成一个bmp图片,然后把它画到窗口上,[/quote] 能再弱弱的请教下怎么生成图片吗?对块的东西实在是不太懂。
赵4老师 2017-07-11
  • 打赏
  • 举报
回复
百度搜相关关键字。
red-fly 2017-07-11
  • 打赏
  • 举报
回复
播放器没有这个功能的话,那你就没办法传入。 把解码后的图片写到文件中,然后在yuv 播放器中打开这个文件,并设定宽高和帧率进行播放

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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