我正在开发一个广播电台的移动应用程序,我正在使用cordova/phonegap
,我需要直播RTMP
直播视频,其扩展名为.sdp
。
以下是我提供视频的链接示例:
rtmp://streaming.toutech.net/live/radio.sdp
我尝试了html 5 video
标记,但它无效。
我尝试了一些习惯的js
插件,但它也没有用。
任何帮助都将非常感激。
由于
答案 0 :(得分:4)
就像提到的那样,问题是您需要Flash在客户端使用RMTP。
也就是说,使用Flash对移动设备来说是一个糟糕的想法,也许不是未来的证据。
我建议调查WebRTC和转码器。 WebRTC不支持RMTP,它流式传输使用DTLS加密的SRTP,但我相信一些广播媒体服务器支持这种转换(从RMTP到VP8 WebRTC已启用)。
寻找Wowza解决方案(http://www.wowza.com/forums/showthread.php?36532-WebRTC-support或http://www.wowza.com/products/addons/wowza-transcoder-addon)
您最好的办法是找到一个可以与浏览器配合使用的转码解决方案,并希望能够支持WebRTC。
答案 1 :(得分:1)
我认为这里的问题可能是客户端的RMTP需要Flash Player。一个赌注可能是使用video.js supports RMTP使用FlashJS。
否则你可以参考这个关于communicating with a Flash server over RMTP without Flash的旧讨论(在C#或Java中)。
答案 2 :(得分:1)
Web浏览器尚不支持通过TCP套接字进行通信。 (有很少的专有API,例如mozTCPSocket)您可以使用RTMPT来获取使用XHR的音频/视频数据包。
当您收到视频数据包时,您需要将它们组合到一些容器中,例如分段MP4 ...然后使用MediaSource扩展播放它。 MSE和fMP4是所有浏览器的新功能,只有少数人可以正常支持它,但您可以在Firefox(37 +?)和Chrome(40 +?)的http://areweflashyet.com:8082/mse/demo-mse2.html尝试演示。
答案 3 :(得分:0)
https://github.com/jumpbytehq/cordova-jb-plugin-panframe
我自己没有测试过,但似乎有效。