【问题标题】:h.264 live streamh.264 直播
【发布时间】:2012-12-29 15:14:07
【问题描述】:

重新搜索了几天,我仍然对这个问题感到困惑:

我有一个通过 WiFi 连接到我的 Android 设备的网络摄像头。 我编写了一个 Android 应用程序来连接到网络摄像头的指定 Socket(IP 和端口)。从这个 Socket 我得到一个已经用 H.264 编码的 InputStream。然后我将此 InputStream 从 android 设备重定向到我的服务器,在那里我设法使用 Xuggler 将其解码为图像/帧。

我想将我的网络摄像头直播到互联网到 Flash 播放器或其他东西。 我知道我必须为此使用 Wowza、FMS 或 RED5。

我的问题是,我不明白如何处理我拥有的 InputStream。我读过的所有示例都需要一个 mp4/flv 或其他容器文件来流式传输……但我有一个连续的实时 InputStream。 其他一些示例考虑使用 Flash 编码器。但是我的 InputStream 已经用 H.264 编码了。

这是一个一般性的理解问题。请告诉我如何解决这个问题。

谢谢

【问题讨论】:

    标签: inputstream h.264 red5 flash-media-server wowza


    【解决方案1】:

    您有以下选择 -

    1. 在 flv 容器中编码。是的,您可以使用 flv 容器传输实时流。您可以将标题中的“持续时间”字段设置为任意长度。例如 youtube 使用此技巧进行直播。

    2. 您可以将流编码为 RTMP。 ffmpeg 有 rtmp 代码,可用于理解,或者我相信还有其他可用的开源 rtmp 多路复用器。

    3. 将流转换为 HLS,有基于 Flash 的 HLS 播放器可用。

    【讨论】:

    • 谢谢。您是否有一个示例说明如何告诉 ffmpeg 从我的 InputStream/Socket 连接中获取要发布的数据。我遇到的所有示例都显示了如何从现有文件流式传输。
    • 我没有尝试过,但应该可以。 mail-archive.com/libav-user@ffmpeg.org/msg01899.html
    • 感谢您的努力。这对我的技能来说似乎有点太多了。我正在使用 Java。你有使用 Xuggler 的经验吗?因为我能够将流解码为 BufferedImage。但我不知道如何从 InputStream 中创建 flv 或 mp4。
    【解决方案2】:

    如果我可能会问为什么要闪烁,希望你知道 HTML5 视频标签现在直接接受 h264 编码的视频。

    【讨论】:

    • 它不会是上述问题的答案。您最好将其发布为评论。
    猜你喜欢
    • 1970-01-01
    • 2012-02-21
    • 1970-01-01
    • 2012-12-01
    • 2019-11-21
    • 2011-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多