2010-08-31 120 views
4

在我的项目中,我需要一个专用服务器,将流传送到多个客户端。如何开始在c/C++中实现视频流服务器?

更具体地说,我有一个回调函数被调用来收集流数据,但不知道如何将它流式传输到其他应用程序。

什么是最好的方式开始呢?

+0

您确定您希望在C/C++中完成它吗?因为我已将其作为Web服务完成,我将能够为您提供帮助。 – ckv 2010-08-31 11:13:53

回答

0

我想你应该通过网络套接字来检查通信。

有一个在C++中没有网络的概念,所以你必须依靠你的系统API或库(如Boost.Asio的举例)你打算以流

+0

我知道套接字和管道都可以,但怎么做? – user198729 2010-08-31 14:38:46

+0

例如,检查boost.asio并开始发送一些文本数据。然后你必须定义一个协议并通过套接字发送你的图像 – Nikko 2010-09-01 08:52:45

2

何种类型的视频?

有一个名为liveMedia的开源库,可在http://www.live555.com处获得。这个C++库在LGPL下可用,并为许多不同媒体类型实现RTSP,RTP/RTCP协议和有效载荷格式。有一个名为DeviceSource IIRC的类,可以方便地将数据导入库。有一个活跃的邮件列表,您应该能够通过搜索档案找到大量信息。

还有一堆例子试验项目的阐述其流MPEG,MP3等

如果您选择使用标准化的协议,你可能想在RTPRTSP阅读起来。