【问题标题】:Stream video in Java用 Java 流式传输视频
【发布时间】:2011-07-31 06:08:57
【问题描述】:

向许多客户录制和流式传输实时视频的最佳方式是什么?有图书馆吗?

【问题讨论】:

    标签: java video stream video-streaming


    【解决方案1】:

    Xuggler 是一个很好的开源 Java 库,它处理动态流和修改媒体。

    http://www.xuggle.com/xuggler/

    您可以将它与 Red5 一起使用,或者如果您想要完全控制,Xuggler 有一个 IContainer 类,其中每个实例都可以设置为流媒体输入或输出。我已经能够通过 UDP 和 TCP/IP 重新传输媒体。

    此外,Xuggler 会自动拆分各种流以供您分析/修改(视频、音频、元数据),并使用 FFMPEG(大量开箱即用的编解码器)构建。

    【讨论】:

    • 你能告诉我一个例子,从 java 和 xuggler 流式传输视频(rtsp,http),不使用 red5 吗?谢谢!
    • @Teddy Yueh - 我也非常想要一个不使用 red5 的例子
    • 我现在没有太多时间,但可以给你一些指示。使用带方向的 IContainer。至于流,您可以传入一个 ByteArrayOutputStream 并保留它的句柄。当您将数据包写入 IContainer 时,您的 ByteArrayOutputStream 将被填满,因此在每个数据包写入后,刷新 IContainer,然后如果您需要 UDP,则将字节传递给 DatagramPacket。如果你想要 TCP/IP,它就像将 Socket 的 OutputStream 传递给 IContainer 一样简单。在任何协议中,您只需要访问字节。如果您使用的是 ByteArrayOutputStream,请不要忘记在每次拉取后清除它。
    【解决方案2】:

    如果您喜欢冒险,另一种可能性是我非常新的、闪亮的基于 WebM 的实时流媒体服务器 stream.m。它是 GPL 许可的,提供完整的源代码。您可以将支持 HTML5 的浏览器用作客户端。

    服务器端还没有录制能力,但是你可以在广播端以千种方式保存流。

    【讨论】:

      【解决方案3】:

      查看 Amazon EC2 的流媒体服务 CloudFront。如果您尝试将内容分发给大量客户端,则弹性云在成本方面胜过任何其他实现方式,并且可以轻松地用 Java 实现。

      http://aws.amazon.com/cloudfront/

      他们为开发人员提供了非常有用的文档,并且内容交付的价格非常合理,这很容易超过建立内部解决方案的成本。

      【讨论】:

        猜你喜欢
        • 2010-11-03
        • 1970-01-01
        • 1970-01-01
        • 2012-11-06
        • 2011-11-30
        • 2016-09-24
        • 2016-01-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多