Directshow H264视频编解码问题。

hit_spaceknight 2011-05-19 09:51:06
最近有个这样的问题:
有个移动终端上面安装了摄像头,视频分两路:一路在终端上实时显示;另一路采用H.264编码通过无线网络传输到PC机上,PC机上进行解码播放。我主要负责PC机上的应用。
整个流程如下:
终端:采集filter-》smart tee filter-》播放
-》264编码 filter-》网络sender filter
PC:网络接收receiver filter-》ffdshow video decoder-》VMR9 render

终端先将媒体类型发送给PC,VIDEOHEADINFO结构,调试中可以看到视频子类型是H264的guid。PC端的所有FILTER
都创建成功,且pin之间的连接也都成功了。receiver往下deliver也成功,但是就是没有画面,想请问一下大家,这个流程有没有问题?有没有什么好的建议?
另:终端采用的是OMAP3530,编码如下图所示(这块我不熟).
GUID guidH264 = { 0xb2e82896, 0x5bd7, 0x4299, 0xb6, 0x5d, 0x8f, 0x95, 0xa0, 0x11, 0xa2, 0xe7};

...全文
528 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
u010796045 2013-06-07
  • 打赏
  • 举报
回复
lz 我最近也在做你说的这块内容,可是初涉这方面,不太懂。可以把你的工程发给我学习下吗?591047069@qq.com.必有重谢
qunwanggg 2011-07-11
  • 打赏
  • 举报
回复
请问楼主,现在问题解决了吗?我现在也要做和你相似的项目,能把你的资料与我共享吗?真诚期待您回复。十分感谢。邮箱328562844@qq.com
hit_spaceknight 2011-06-17
  • 打赏
  • 举报
回复
调试过程中,调用ffdshow都正常。于是我抓了一下报文。
发现里面全是00 00 01 41帧。像67,68,65的帧都没有,这应该是前端给我的数据就有问题吧。为什么输出都是辅助帧,没有关键帧呢。
rightorwrong 2011-06-17
  • 打赏
  • 举报
回复
H264的话,如果第一帧就能显示图片,需要时00 00 00 01 67这样的头
可能是收到的第一帧数据不是I帧,多收几次
lineuser 2011-06-17
  • 打赏
  • 举报
回复
mark
MVision 2011-06-13
  • 打赏
  • 举报
回复
问一下LZ,你的问题解决了吗?怎么解决的能不能分享一下啊
CyberLogix 2011-05-19
  • 打赏
  • 举报
回复
但是就是没有画面,想请问一下大家,这个流程有没有问题?有没有什么好的建议?

要么接受的数据不对,要么你发给ffdshow解码器的数据不符合他的要求!
hit_spaceknight 2011-05-19
  • 打赏
  • 举报
回复
说明一下,终端这边 tee filter出来一条路是播放,第二条路是到第二行的编码再传输。
CyberLogix 2011-05-19
  • 打赏
  • 举报
回复
你吧数据保存为文件,然后播放卡有没有问题
hit_spaceknight 2011-05-19
  • 打赏
  • 举报
回复
抓了一下receive到的包,每一帧保温的开头几个字节都是00 00 00 01 41....
请问这个是正确的么?
hit_spaceknight 2011-05-19
  • 打赏
  • 举报
回复
请问怎么判断接收到的数据是否正确,是否匹配呢?
另外我还做了个测试,想把数据保存成文件,流程是:
Netreceive filter -->ffdshow decode filter --> Avi mux filter -->File writer
发现每次文件大小都是64K,应该是文件里面没有保存任何数据。我查过接收到数据后,往下DEliver是成功的,是否是因为数据不对造成的呢?

2,543

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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