谁参照陆其明老师的AVChat做过视频传输?一个问题想请教?(120分3个帖子)

pvlking 2011-05-26 09:40:42
我的编程过程:(只是单向传输,S端视频传个C端)
1.创建一个socket连接(TCP)(这里要做什么设置吗?)
2.S端创建Graph: 添加视频设备Filter,添加Sender Filter. Graph->run;
3.C端收到视频媒体类型后,设置接收Filter的媒体类型, 连接显示Filter。 run。
发送 和 接收 Filter直接用的陆其明 老师的。但是我的传输效果就是很差,也是在局域网。我的很卡。我是不是少哪步关键步凑没做? 求救啊~~~~~~~~

我本地采集参数设置是这么写的,不知道对不对:

IAMStreamConfig *pConfig = NULL;
hr = pSourceOut->QueryInterface(IID_IAMStreamConfig, (void **)&pConfig);//pSourceOut是采集设备的输出IPin
if(FAILED(hr))
{
MessageBox("IID_IAMStreamConfig没找到!");
return;
}
AM_MEDIA_TYPE *pmt = NULL;
LONGLONG avgTimePerFrame = 500000; // 20fps这里帧数改变了没区别,AVChar里改了也没区别
hr = pConfig->GetFormat(&pmt);
if(pmt->formattype == FORMAT_VideoInfo)
{
VIDEOINFOHEADER *pvi = (VIDEOINFOHEADER *) pmt->pbFormat;
pvi->AvgTimePerFrame = avgTimePerFrame;
pvi->bmiHeader.biWidth = Preferred_Width;
pvi->bmiHeader.biHeight = Preferred_Height;
pvi->bmiHeader.biSizeImage = Preferred_Width * Preferred_Height * pvi->bmiHeader.biBitCount / 8;
pConfig->SetFormat(pmt);
}
pConfig->Release();

...全文
106 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
pvlking 2011-05-27
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wmnmtm 的回复:]
视频收发都是用UDP的吧,用TCP自然会卡了,因为连续动态的画面一秒是15帧,一个普通聊QQ用的摄像头,你截个位图看看是多大,算算一秒要传多少数据量就知道了。

视频传输是必须压缩的
[/Quote]
因为AVChat很流畅,我就在想是不是有哪步很关键的“让传输更流畅”步骤,我没有做。达到这基础后,再用UDP的话,那效果就更好了。
wmnmtm 2011-05-27
  • 打赏
  • 举报
回复
视频收发都是用UDP的吧,用TCP自然会卡了,因为连续动态的画面一秒是15帧,一个普通聊QQ用的摄像头,你截个位图看看是多大,算算一秒要传多少数据量就知道了。

视频传输是必须压缩的
pvlking 2011-05-26
  • 打赏
  • 举报
回复
GraphEdit 不在directshow里面的。 百度下就有了
是小刘鸭啊 2011-05-26
  • 打赏
  • 举报
回复
楼主,你是用DirectShow吗?我也想用DirectShow做视频这块的,但是为什么我下载的DirectX SDK安装后没有GraphEdit这个东西啊,是不是我下载的版本不对啊,我都试过好几个版本了,都没有,楼主用的哪个版本啊?
pvlking 2011-05-26
  • 打赏
  • 举报
回复
好几个帖子提了没人回复了~ 自己顶下,求顶~我的整体过程有问题吗?

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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