远程桌面以及录像的思路

zonedearbaby 2014-07-10 09:05:55
大家好,最近在接到任务做远程桌面控制模块并且录像,基于XVID压缩存储.

现在基本上远程控制这块基本功能都搞定了,传输的数据都是用微软提供的 对DDB\DIB操作的相关API获取的,(BitBlt、GetDIBits之类的)

现在要弄视频录像了,有些实现思路上的问题,还请各位前辈指点指点:
1、像我这种数据源的话,要录像成视频该怎么实现,用vfw.h吗,据说这是太老的技术了,
2、对于XVID编码的话,资料方面现在只有前辈们在网上提供的那些库( xvid_global(), xvid_decore(), xvid_encore() 这3个API接口),像我这种数据源的话,应该算是图相数据了,用这3个接口怎么编码?如果不行的话,难道还要我去整xvid源码?这也太难了吧,而且源码里面涉及的一些术语,我也不太知道怎么去对应我这里的数据源进行处理。

不知前辈们有没有可以提供的任何帮助,思路上的或者技术上的都可以,小弟在此先谢谢。
...全文
881 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
shiter 2014-08-13
  • 打赏
  • 举报
回复
引用 15 楼 zonedearbaby 的回复:
[quote=引用 13 楼 wangyaninglm 的回复:] [quote=引用 12 楼 zonedearbaby 的回复:] 基本竣工了,剩下的都是优化工作了,谢谢大家的关注。
写点博客教教大家啊[/quote] 这种低级程序还是不拿出来炫了。[/quote]
zonedearbaby 2014-08-13
  • 打赏
  • 举报
回复
引用 13 楼 wangyaninglm 的回复:
[quote=引用 12 楼 zonedearbaby 的回复:] 基本竣工了,剩下的都是优化工作了,谢谢大家的关注。
写点博客教教大家啊[/quote] 这种低级程序还是不拿出来炫了。
zonedearbaby 2014-08-13
  • 打赏
  • 举报
回复
引用 7 楼 Evankaka 的回复:
引用 5 楼 zonedearbaby 的回复:
[quote=引用 2 楼 Evankaka 的回复:] 这个简单,我推荐你弄H264.这是新一代视频编解码技术,你已得到视频是不,将它编码成H264即可,编码后文件很小的。H264有现成的编码函数,
现在还没得到完整的视频啊,我是传输的是一帧一帧的数据(如果有变化的话),我是想边压缩边录制,难道只能录制好了,得到完整的视频后再实行压缩才可行吗?如果得到了完整的视频,用XVID编码器程序外编码一下也很小很小。
可以边录边编的~你应该是想录一帧压缩一帧,不过,你进行远程行难道数据没压缩过,远程我也弄过,被控制端本地抓取桌面图像(一般是BMP位图数据),要经过一定的压缩(比如压缩成JPEG,分块发送)发送给控制端时,这样才不会卡。JPEG数据的话,一帧不会超过100K(我试过了的),这时直接保存成AVI.不用再压缩编码了。这样思路不可是否可行呢?后面一步我没试过,不过,前面的都可以[/quote] 在视觉效果可接受范围内一帧是不太会超过100K。直接保存AVI的话那视频文件大的要死,必须压缩,现在掉的XVID压缩器压缩,偶尔碰到APPCRASH,泪崩,还是不稳定啊。
shiter 2014-07-29
  • 打赏
  • 举报
回复
引用 12 楼 zonedearbaby 的回复:
基本竣工了,剩下的都是优化工作了,谢谢大家的关注。
写点博客教教大家啊
zonedearbaby 2014-07-25
  • 打赏
  • 举报
回复
基本竣工了,剩下的都是优化工作了,谢谢大家的关注。
shiter 2014-07-19
  • 打赏
  • 举报
回复
你这个有点厉害了,关注一下
zonedearbaby 2014-07-18
  • 打赏
  • 举报
回复
引用 9 楼 kumgming 的回复:
用屏幕截取不行么?截取客户机的屏幕后压缩成视频文件,传回来就OK咯~
你们还是没太懂需求,我们的要求是边远控,边录制,边压缩。3个功能要基本上并行,而不是说先录制好了,再压缩,再把视频文件传输过来。
kumgming 2014-07-16
  • 打赏
  • 举报
回复
用屏幕截取不行么?截取客户机的屏幕后压缩成视频文件,传回来就OK咯~
zonedearbaby 2014-07-14
  • 打赏
  • 举报
回复
引用 3 楼 villagedog 的回复:
请参考VNCVIEW,是开源的。类似开源的也不少。
那玩意,代码量太大了,他设计得、考虑得各项需求都比较详细,看了1个月也不敢用他的模式。他的传输方式就也就是对每帧压缩,然后解压缩,然后显示,他的重点不在于压缩这块,我觉得是在于对整个
zonedearbaby 2014-07-14
  • 打赏
  • 举报
回复
引用 2 楼 Evankaka 的回复:
这个简单,我推荐你弄H264.这是新一代视频编解码技术,你已得到视频是不,将它编码成H264即可,编码后文件很小的。H264有现成的编码函数,
现在还没得到完整的视频啊,我是传输的是一帧一帧的数据(如果有变化的话),我是想边压缩边录制,难道只能录制好了,得到完整的视频后再实行压缩才可行吗?如果得到了完整的视频,用XVID编码器程序外编码一下也很小很小。
villagedog 2014-07-14
  • 打赏
  • 举报
回复
请参考VNCVIEW,是开源的。类似开源的也不少。
Evankaka 2014-07-14
  • 打赏
  • 举报
回复
最后说下,发送JPEG时,采用分块发送,调用线程。这样可以实现多台电脑控制一台电脑~~
Evankaka 2014-07-14
  • 打赏
  • 举报
回复
引用 5 楼 zonedearbaby 的回复:
引用 2 楼 Evankaka 的回复:
这个简单,我推荐你弄H264.这是新一代视频编解码技术,你已得到视频是不,将它编码成H264即可,编码后文件很小的。H264有现成的编码函数,
现在还没得到完整的视频啊,我是传输的是一帧一帧的数据(如果有变化的话),我是想边压缩边录制,难道只能录制好了,得到完整的视频后再实行压缩才可行吗?如果得到了完整的视频,用XVID编码器程序外编码一下也很小很小。
可以边录边编的~你应该是想录一帧压缩一帧,不过,你进行远程行难道数据没压缩过,远程我也弄过,被控制端本地抓取桌面图像(一般是BMP位图数据),要经过一定的压缩(比如压缩成JPEG,分块发送)发送给控制端时,这样才不会卡。JPEG数据的话,一帧不会超过100K(我试过了的),这时直接保存成AVI.不用再压缩编码了。这样思路不可是否可行呢?后面一步我没试过,不过,前面的都可以
Evankaka 2014-07-13
  • 打赏
  • 举报
回复
这个简单,我推荐你弄H264.这是新一代视频编解码技术,你已得到视频是不,将它编码成H264即可,编码后文件很小的。H264有现成的编码函数,
dvlinker 2014-07-12
  • 打赏
  • 举报
回复
帮忙顶一个!

19,468

社区成员

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

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