我试图在iOS上运行Ionic 2应用程序。 Stream来自Raspberry pi(gStreamer + Janus WebRTC网关)
应用程序是一个流应用程序,具有以下逻辑:
URL.createObjectURL(stream)
我通过以下插件获得WebRTC支持:https://github.com/eface2face/cordova-plugin-iosrtc
通过ionic serve --platform=ios
命令在FireFox浏览器中流式传输效果很好。
在iOS模拟器和真实设备中流式传输无效。我刚刚得到一个绿色矩形而不是流,如上图所示:
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"
答案 0 :(得分:0)
我知道这发生在几年前。如果其他人最终陷入该线程。这是一个编解码器问题。我遇到了同样的问题,发现使用VP9代替H264编解码器进行移动本机应用程序(cordova ionic)可正确显示视频。出于某种原因,使用Safari ios可以正常运行,但在本机应用程序中则无效。希望有帮助!