Flutter WebRTC 从服务器流式传输视频
Posted
技术标签:
【中文标题】Flutter WebRTC 从服务器流式传输视频【英文标题】:Flutter WebRTC streaming video from server 【发布时间】:2019-02-25 19:31:46 【问题描述】:我正在使用 WebRTC 从服务器流式传输视频。用于 Flutter 的 WebRTC 刚刚发布,没有太多文档。我想知道的是如何检测 iceCandidate 是否开启且不为空。如何检查 iceConnectionState == 是否已连接?
stream() async
Map<String,dynamic> configuration =
"iceServers" : []
;
final Map<String, dynamic> constraints =
"mandatory": ,
"optional": [ "DtlsSrtpKeyAgreement": false, ],
;
peerConnection = await createPeerConnection(configuration, constraints);
print('ok');
peerConnection.onIceCandidate = gotIceCandidate;
peerConnection.onIceConnectionState = onIceState;
void gotIceCandidate(RTCIceCandidate iceCandidate)
if (iceCandidate.candidate != null)
print("onIceCandidate");
void onIceState(RTCIceConnectionState iceConnectionState)
if (iceConnectionState.index == 3)//CONNECTED
print("connected");
else if(iceConnectionState.index == 5)//FAILED
print("failed");
这个颤振插件上没有onconnectedstatechange。并且没有 onTrack 从服务器流式传输视频。任何帮助将不胜感激!
【问题讨论】:
您提到您正在使用 Flutter 插件,您能否提供您正在使用的插件和a minimal, complete and verifiable example。另外,我注意到有一个可用的插件。你指的是这个plugin吗? 【参考方案1】:flutter_webrtc 具有RTCPeerConnection().iceConnectionState
属性,您可以按照docs 中的说明使用该属性。同样,onTrack
也是available on the same class。
【讨论】:
以上是关于Flutter WebRTC 从服务器流式传输视频的主要内容,如果未能解决你的问题,请参考以下文章
仅使用视频标签实时流式传输到 HTML5(没有 webrtc)
Android - 在使用WebRTC发送到Wowza Streaming Engine之前旋转视频帧