流式传输桌面

时间:2009-11-15 20:15:16

标签: java c++ screen-scraping vlc

我想创建一个C ++跨平台(Windows和MacOS X)应用程序,将屏幕作为视频流发送到服务器。

在讲座捕捉的背景下需要申请。最终结果将是一个基于Flash的网页,播放讲座(演示者视频和音频+幻灯片/桌面)。

我目前正在探索一些选择:

  • 将VLC(视频播放器)二进制文件与我的应用程序捆绑在一起并使用其桌面流功能。
  • 使用Qt Phonon库,但它似乎不够强大。
  • 将单个屏幕截图和时间戳发送到服务器而不是视频流。然后服务器必须创建视频流。
  • 使用Java实现它并使用Xuggler(BigBlueButton将其用于桌面共享功能)
  • ...?

非常感谢您对如何解决此问题的见解/评论。

3 个答案:

答案 0 :(得分:3)

我认为VNC是软件解决方案的一个很好的起点。跨平台和经过充分测试。我可以想到一些来自VNC的商业项目 - 来自Fog Creek的副驾驶。脑海中浮现。

但是,concider接入投影机硬件以捕捉幻灯片,而不是在讲师带来的每台计算机上安装软件。即分离器,然后是计算机,以捕获幻灯片视频信号以及演示者视频信号。

我在那里工作的讲师为他们的演讲带来了大量的笔记本电脑,而不喜欢在演讲前安装任何东西的想法。

我会选择硬件解决方案 - 带有Boinx的Mac mini。

答案 1 :(得分:0)

有许多屏幕流媒体和录制软件可用,在Windows平台上,您可以使用Windows媒体编码器执行此操作,甚至可以播放实时的mms:// stream

捕捉屏幕并不难(除非屏幕上的内容是叠加视频或全屏3D图形)。实时流式传输是复杂的,使用大多数多媒体框架(Directshow,gstreamer)编码并将其录制到磁盘上非常简单

答案 2 :(得分:0)

我的解决方案是在Qt中编写一个简单的GUI应用程序,在后台调用VLC进程。这非常有效。