在iOS上使用HTML5视频标记嵌入h264流

时间:2016-07-18 22:42:52

标签: ios cordova webrtc gstreamer h.264

我试图在iOS上运行Ionic 2应用程序。 Stream来自Raspberry pi(gStreamer + Janus WebRTC网关)

应用程序是一个流应用程序,具有以下逻辑:

  1. 使用Janus WebRTC网关创建与RPi的连接
  2. 获取流并使用src创建视频代码:URL.createObjectURL(stream)
  3. 我通过以下插件获得WebRTC支持:https://github.com/eface2face/cordova-plugin-iosrtc

    通过ionic serve --platform=ios命令在FireFox浏览器中流式传输效果很好

    在iOS模拟器和真实设备中流式传输无效。我刚刚得到一个绿色矩形而不是流,如上图所示:

    enter image description here

    gStreamer命令:

    raspivid --verbose --nopreview --width 640 --height 480 --framerate 15 --bitrate 1000000 --profile main --timeout 0 -o - | 
gst-launch-1.0 -v fdsrc ! h264parse ! rtph264pay config-interval=1 pt=96 ! udpsink host=127.0.0.1 port=8004

    Janus config:

    [gst-rpwc]
    type = rtp
    id = 1
    description = RPWC H264 test streaming
    audio = no
    video = yes
    videoport = 8004
    videopt = 96
    videortpmap = H264/90000
    videofmtp = profile-level-id=4D401F\;packetization-mode=1
    

    我搜索了类似的问题(h.264 video won't play on iOS)。

    他们说iOS safari支持主要配置文件AVC级别3.1。我试过这个提议,但它也没有帮助我......

    我还试过以下"对" (profile-level-id + profile)没有成功: "42e028 + baseline" "640028 + hight"

1 个答案:

答案 0 :(得分:0)

我知道这发生在几年前。如果其他人最终陷入该线程。这是一个编解码器问题。我遇到了同样的问题,发现使用VP9代替H264编解码器进行移动本机应用程序(cordova ionic)可正确显示视频。出于某种原因,使用Safari ios可以正常运行,但在本机应用程序中则无效。希望有帮助!