概述
metaRTC新版本支持webrtc版的p2p,支持一对一和一对多应用,在应用中浏览器作为终端应用比较广,metaRTC提供有metaRTC和浏览器p2p通信demo。
?下载源码
https://github.com/metartc/metaRTChttps://github.com/metartc/metaRTChttps://github.com/metartc/metaRTCmetaRTC: metaRTC为嵌入式版本的webrtchttps://gitee.com/metartc/metaRTChttps://gitee.com/metartc/metaRTC
git clone https://github.com/metartc/metaRTC.git
或者
git clone https://gitee.com/metartc/metaRTC.git
metap2p3
metap2p3打开引用程序后,不需任何操作,会自动侦听信令,当有信令传过来时,自动启动webrtc程序和终端对接。
?metap2p3_html
浏览器demo为目录metap2p3_html
?demo的html文件为p2pdemo.html
?输入框输入p2p地址和端口,点击播放视频按钮即可。
metap2p3_html源码
<!DOCTYPE html>
<html>
<head>
<title>metaRTC p2p demo</title>
<meta charset="utf-8">
<style>
body{
padding-top: 30px;
}
</style>
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css"/>
<script type="text/javascript" src="js/jquery-1.10.2.min.js"></script>
<script type="text/javascript" src="js/adapter-7.4.0.min.js"></script>
<script type="text/javascript" src="js/srs.sdk.p2p.js"></script>
<script type="text/javascript" src="js/winlin.utility.js"></script>
<script type="text/javascript" src="js/srs.page.js"></script>
</head>
<body>
<div class="container" width="100%" height="100%">
<div class="form-inline">
URL:
<input type="text" id="txt_url" class="input-xxlarge" value="webrtc://192.168.0.103:1985/live/livestream">
<button class="btn btn-primary" id="btn_play">播放视频</button>
</div>
<video id="rtc_media_player" width="100%" height="100%" autoplay></video>
</div>
<script type="text/javascript">
$(function(){
var sdk = null; // Global handler to do cleanup when replaying.
$('#rtc_media_player').show();
var startPlay = function() {
// Close PC when user replay.
if (sdk) {
sdk.close();
}
sdk = new SrsRtcPlayerAsync();
// https://webrtc.org/getting-started/remote-streams
$('#rtc_media_player').prop('srcObject', sdk.stream);
var url = $("#txt_url").val();
// parse_webrtc(url);
sdk.play(url).then(function(session){
console.log("play url ",$("#txt_url").val());
}).catch(function (reason) {
sdk.close();
});
};
$("#btn_play").click(function() {
$('#rtc_media_player').prop('muted', false);
startPlay();
});
});
</script>
</body>
</html>
|