首页
新闻
论坛
群组
Blog
文档
下载
读书
Tag
网摘
搜索
.NET
Java
游戏
视频
人才
外包
培训
数据库
书店
程序员
欢迎您:
游客
| 退出
| 登录
注册
帮助
我的帖子
我参与的帖子
我的空间
我的网摘
CSDN
CSDN社区
专题开发/技术/项目
多媒体/流媒体开发
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
生成帖子
置顶
推荐(加精)
取消推荐(加精)
锁定帖子
移动帖子
取消引用
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
关于取出视频Sample的数据,传送到另一个Graph无法还原的问题。
[无满意答案结贴,结贴人:xuwei17385]
加为好友
发送私信
在线聊天
xuwei17385
等级:
可用分等级:
乞丐
总技术专家分:
0
总技术专家分排名:
311804
揭帖率:
100.00%
发表于:
2008-08-19 10:57:36
楼主
最近在做一个远程教育平台的IM模块,其中音频使用的是ILBC视频用的是H264,在服务端,音频采集过滤器->Grabber,Grabber是修改SDK的Grabber而来,在Trancform里面判断如果是音频数据的话,则使用iLBC编码,然后通过回调函数来处理,回调函数中,第一字节加上了媒体类型,2-5为int,是数据长度,6到以后为Sample数据,客户端通过自己写的源过滤器接受数据,判断类型,是音频则直接在内部用iLBC解码,发送到下一级的Audio Renderer,音频信号可以正常还原。
现在的问题就是,同样的方式 视频无法还原,服务端是:视频采集Filter->H264编码器->Grabber 回调函数发送出去,客户端 接受Filter->H264解码器->Video Renderer,我在Filter->H264解码器之间插入了一个测试用的过滤器统计数据,发现有数据通过,在测试用的过滤器之后再插入一个测试过滤器,第二个也接受到了数据,而且音频也能发送到Audio Renerer,说明源过滤器没有问题,但在H264编码器之后插入一个测试过滤器,发现没有数据过来。我以为是H264解码器的问题,就取消掉了服务器的编码器和客户端的解码器,通过测试过滤器,数据也能传到Video Renderer,但是Video Renderer却没有还原数据出来,总体来说,就是编码器和Renderer没有处理传过来的Sample,接收到数据后,视频时间戳设定的是NULL,立即播放,不知道是哪个环节出了问题,希望各位前辈帮忙解答一下,才毕业工作,没什么经验,这个问题已经折腾了两三个星期了,只好找大家帮帮忙了~~~
另外,测试过滤器也就是哪个Grabber,我在Transform里面统计了数据的大小个类型,保存到文件以便观察,grabber在刚开始时都取出了媒体类型发送到客户端用来初始化过滤器,并且我保证两边过滤器媒体类型完全一致,数据也完全一致。
两边的过滤器是:
音频:
服务端:采集->Grabber(内部TransForm中直接iLBC编码,回调函数发送)
客户端:源过滤器(将接收到的数据传入,内部直接iLBC解码)->Audio Renderer
视频:
服务端:采集->H264 Encoder->Grabber(TransForm不做处理,直接回调函数发送)
客户端:源过滤器->H264 Decoder->Video Renderer 问题处在H264 Decoder没有数据出来 同时去掉编解码器,Video Renderer不显示。
问题点数:
100
回复次数:
3
显示所有回复
显示星级回复
显示楼主回复
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
SoftSoftSoft2008
等级:
可用分等级:
富农
总技术专家分:
1674
总技术专家分排名:
12633
发表于:
2008-08-19 13:59:30
1
楼 得分:
0
怎么搞的那么复杂哦。
你先在本地测试,音频,视频编码,解码后,显示,播放正常,再经过网络传输。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
xuwei17385
等级:
可用分等级:
乞丐
总技术专家分:
0
总技术专家分排名:
311804
发表于:
2008-08-19 15:32:35
2
楼 得分:
0
引用楼主 xuwei17385 的帖子:
最近在做一个远程教育平台的IM模块,其中音频使用的是ILBC视频用的是H264,在服务端,音频采集过滤器->Grabber,Grabber是修改SDK的Grabber而来,在Trancform里面判断如果是音频数据的话,则使用iLBC编码,然后通过回调函数来处理,回调函数中,第一字节加上了媒体类型,2-5为int,是数据长度,6到以后为Sample数据,客户端通过自己写的源过滤器接受数据,判断类型,是音频则直接在内部用iLBC解码,发送到下一级的Audio Renderer,…
这个完全正常 所有正常之后 我才开始取数据往外面传的~~~~~~~~
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
xuwei17385
等级:
可用分等级:
乞丐
总技术专家分:
0
总技术专家分排名:
311804
发表于:
2008-08-20 10:52:35
3
楼 得分:
0
调试找到原因了~~~少了一句memcpy~~~~~以后的测试代码也要好好写了~~~~就出在测试代码上~~~当时写得很粗糙~~~后来以为没问题~~结果出问题了~~~
修改
删除
举报
引用
回复
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
网站简介
-
广告服务
-
网站地图
-
帮助
-
联系方式
-
诚聘英才
-
English
-
问题报告
北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
abc推荐给好友