【问题标题】:How to live stream Raw H264 Encoded Data on IOS from server如何从服务器在 IOS 上直播原始 H264 编码数据
【发布时间】:2014-01-14 18:07:40
【问题描述】:

我正在开发客户端服务器应用程序。

我的情况是:

计算机是我的服务器,并附有相机。服务器从摄像头获取原始h264 压缩视频流,并使用TCP/IP protocol (sockets) 将此压缩视频流发送到客户端,在我的情况下是iPhone,而不是WIFI

我必须瞄准:

  • iPhone 上录制该流。
  • iPhone 上直播该流。

我完成了我的第一部分,即服务器从摄像头获取流并通过WIFI 将其发送给客户端。客户端以原始 H264 压缩形式接收数据。应用 MP4 MUX 并将其以 .mp4 格式存储在 iPhone 上。这已经完成并且运行良好

现在我陷入了第二个要求。

如何在 iPhone 上直播传入的原始 h264 压缩数据?

【问题讨论】:

    标签: ios iphone objective-c video live-streaming


    【解决方案1】:

    iOS 无法播放原始 h.264 流。它必须作为 HLS 流式传输。

    【讨论】:

    • 实际上我正在避免使用 Apple HLS 协议,因为我在 TCP/IP 方法上构建了我的整个应用程序,并且我几乎完成了一半的工作。现在我正在考虑live streaming 的另一种解决方案,当用户首先按下client 侧的实时流媒体按钮时,我将以mp4 格式记录固定持续时间(5 到 10 秒)文件,然后将其填充到缓冲区(缓冲区最多可以容纳 5 到 10 个固定大小的文件)并从缓冲区中逐个读取该文件并应用一些从缓冲区读取 mp4 文件的功能将其转换为 .ts.m3u8 文件并将其发送到 @ 987654329@玩。
    • 这会增加直播延迟,但现在对我来说不是问题。任何人都可以告诉我如何实现该功能,以便在旅途中(在代码执行期间)将此.mp4 文件转换为.ts.m3u8 文件。
    • 我认为苹果不会批准以这种方式流式传输的应用程序。这需要进行大量的开发工作。您可以使用 libavformat 进行转换。但是这段代码是 GPL。除此之外,您还可以编写一个 mp4 解析器 + AVCC 到 anneb-b(具有重复的 sps/pps)转换器和一个 TS muxer。
    猜你喜欢
    • 1970-01-01
    • 2014-12-28
    • 1970-01-01
    • 2015-03-25
    • 2020-11-13
    • 1970-01-01
    • 2022-06-18
    • 2020-06-09
    • 1970-01-01
    相关资源
    最近更新 更多