Linux服务器上的HTTP实时流式传输

时间:2011-04-10 15:42:51

标签: java iphone ipad video-streaming http-live-streaming

我发现很难找到一些关于此的确凿信息。我在Debian 5.0的数据中心有一个专用服务器。我有一个使用JAVA EE(Glassfish 2.1)后端的iPhone / iPad应用程序,我正在将视频应用到应用程序中。这包括直播和视频超过10分钟,我需要HTTP直播。

什么是最好的开源/免费解决方案?这只是一个试点项目,所以我不想订阅任何付费服务。我目前还没有任何实时流媒体,所以我可以灵活地适应任何系统(服务器或客户端)。

我遇到了:

  • 达尔文(但我不确定该项目是否还活着,因为没有太多信息)
  • Red5(但如果能够轻松实现HTTP直播,则无法找到结论)
  • FFMPEG

关于视频,我最好将720p版本上传到服务器(用于iPad),然后自动转换(在请求时或在文件上传时准备好)到iPhone / iTouch所需的格式和低带宽。对于直播,我希望能够在流式传输到服务器后大约30秒内提供内容。

我没有设想高要求(例如,很多同时请求,如果是这样(例如直播事件)在一个流上应该能够使用HTTP-live流处理,它只需要编码和分段一次)

在(不太近))未来的android也可能成为App的一部分。

任何提示/教程/建议/建议都会非常感激。

5 个答案:

答案 0 :(得分:1)

Wowza非常适合直播到iOS(以及flash)

虽然不是免费的。

答案 1 :(得分:0)

请参阅Apple的http直播文档和最佳做法。

http://developer.apple.com/resources/http-streaming/

这应该是开始的好点。

答案 2 :(得分:0)

直播视频的来源是什么? iPhone仅支持使用aac音频播放H.264基线配置文件3级或mpeg-4视频。 iPhone本身将视频编码为这些规格,但大多数其他编码器不包括(包括许多Android手机)。如果您的视频未按此规范进行编码,则首先必须进行转码。 FFMpeg(使用libx264)可以很好地完成这项工作。然后,您需要生成动态.m3u8播放列表文件。 Wowza将为您提供开箱即用的功能,并接受来自FFmpeg的rtmp流(但不是免费的)。我不相信red5支持Apple http流媒体。有免费的服务器声称,但我从来没有使用它们。看看http://erlyvideo.org/。否则,您可以相当简单地自己完成。 FFmpeg将输出一个mpeg-ts流。然后,将播放列表生成器需要执行的操作切换为188字节对齐的块,并返回包含最后一个n的播放列表。您甚至可以使用http字节偏移模块使播放列表引用为单个文件。在http://developer.apple.com/resources/http-streaming/

阅读Apple的http流媒体文档

答案 3 :(得分:0)

VLC的最新开发版本支持HTTP直播。 你必须从源代码构建,因为不久之前它已被添加到git存储库中。

http://wiki.videolan.org/Documentation:Streaming_HowTo/Streaming_for_the_iPhone

答案 4 :(得分:0)

我现在正在使用基于Java的Xuggler框架。似乎完全按照我正在寻找的工作,尽管没有可用的分段等构建。相反,我现在尝试自己写一个,同时与我的系统完全集成