问题描述
我正在建立一个使用Internet Explorer 11上的rtsp url播放ccctv实时流的网站。 我找到了一种在Google的C#上运行rtsp链接的方法。 而且我确认我的rtsp正在使用openCVSharp在winform图片框中运行。 但是我找不到一种方法来使用.NET在IE 11上支持Web服务。
有人知道如何通过Web服务在IE11上播放实时流rtsp链接吗?
rtsp link for test (big buck bunney bty wowza)
rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov
my cctv rtsp link (Hikvision)
rtsp://<ID>:<PW>@<URL>/Streaming/Channels/<CAHNNELNAME>
解决方法
您不能在IE11或任何网络浏览器中播放RTSP;除非您使用插件(即https://code.videolan.org/videolan/npapi-vlc),否则没人会真正喜欢浏览器插件。代替;使用媒体服务器:
大多数媒体服务器(例如Wowza,Nimble Streamer,Red5Pro等)都支持“ transmuxing”:从一种流协议转换为另一种流协议;因此,您可以捕获RTSP流,并使用适用于浏览器的流协议进行播放,例如HLS(最常用)或MPEG-DASH。而且,如果您喜欢低延迟播放,则可以使用WebRTC,这也是Wowza的默认功能。
用于WebRTC播放; Wowza安装中包含一个播放器和示例JavaScript代码。对于播放HLS或MPEG-DASH,我建议使用视频播放器,因为很少有浏览器支持仅通过 JsonObjectRequest requestM = new JsonObjectRequest(Request.Method.GET,moveUrl,null,new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
typeVariable = response.getJSONObject("type").getString("name");
} catch (JSONException e) {
System.out.println("catch ERROR");
}
}
},new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
System.out.println("Listener ERROR");
}
});
requestQueue.add(requestM);
return typeVariable;
}
标签对HLS或MPEG-DASH进行本地播放。
一些到视频播放器的链接:
(或查看Clappr,Bitmovin,JWPlayer,Flowplayer等)