我计划开发一种视频转码系统。
一台机器具有帧采集器,并将从各种来源接收音频/视频信号。
几台转码机将通过千兆以太网连接到该源机。
源机将压缩后的音视频帧数据发送到转码机。
因为这是简单的单向传输,所以我想我可以使用HTTP。但网络带宽是问题所在。
通过简单的搜索,我在Superuser上找到了一篇文章。
这个真实的千兆以太网示例仅显示了340 This的吞吐量。
我的目标系统应该能够同时转码全高清视频的多个。
1080P全高清视频的数据速率可达712 full,无需压缩。即使使用压缩,这也很容易使千兆网络在1到2个信道上饱和。
假设3是目标。我应该使用什么协议来完成3个全高清视频数据的同时传输?我可以使用HTTP吗?我是否必须设计特殊用途的组播协议?是否有任何用于此目的的开源和/或开放规范协议?
提前谢谢。
发布于 2011-04-04 16:02:58
如果您想使用组播,并且可以切换到UDP协议,那么我建议您考虑RTP协议。但您似乎没有流的目的,此外,您正在发送压缩文件。HTTP应该可以做到这一点,但如果你想避免开销,那么你可以使用3个简单的TCP连接而不使用HTTP。
发布于 2011-04-04 16:11:10
如果不在您自己的条件下进行实际尝试,则很难量化TCP/IP吞吐量。这个人可能只看到340 over的吞吐量,但是使高带宽连接达到最大速度的简单方法是通过TCP进行多个并行传输...为此,HTTP也会起作用。
真正的问题是双重的..。首先,你的视频需要在一定的时间内到达你的转码器吗?如果是这样,你的计时窗口是什么?其次,单个gzipped流会占用多少带宽?
最后,请记住,您可以使用LACP将以太网连接与两个或更多NIC捆绑在一起,这样,如果您发现自己受到单个GigE连接的限制,您的服务器可以输出更多的数据。请与您的网络管理员联系,看看这是否有可能...
在评论中回应讨论的编辑:
所以你有大约30毫秒的时间来发送单个帧的数据……只是为了帮助您进行预算,如果这不包括代码转换延迟,请确保从第二个数字的1/30中减去这些延迟……在这种情况下,我会保持一个恒定的TCP套接字打开,并通过相同的TCP套接字递增地发送文件……这将减少TCP建立和拆除带来的开销...你甚至可以用普通的FTP解决一些问题...在视频节目结束之前不要关闭FTP会话...配置您的交换机和主机使用巨型帧( 1522字节的以太网MTU,包括报头、crc和vlan标记...)可以将你的文件传输次数再减少几毫秒,但是管理巨无霸的开销可能是一个痛苦的问题……例如,当有人升级交换机或路由器时,他们经常忘记检查供应商对巨无霸的接口支持……使问题更加复杂的是供应商销售代表,他们“假设”他们的巨型帧支持。
https://stackoverflow.com/questions/5535757
复制相似问题