网页flash直播 抓取(Linux上nginx-rtmp.js的直播)

优采云 发布时间: 2021-10-22 03:12

  网页flash直播 抓取(Linux上nginx-rtmp.js的直播)

  1、在Linux上搭建nginx-rtmp服务器

  2、在树莓派上安装 ffempg

  树莓派中的ffmpeg推流命令(删除-t 10,会继续推流)

  ffmpeg -ss 0 -t 10 -i /dev/video0 -f flv rtmp://(ip):(端口)/(nginx服务器应用)/(自定义应用)

  配置好后,将直播销售系统的网页放在nginx服务器的html文件夹中即可访问。如果有公网IP,把直播系统网页放在本地,把访问流的ip改成公网ip(也就是下面的文件)。

  我的nginx目录是/usr/local/src/nginx/html/

  基于jwplayer直播页面demo(本示例需要flash插件的支持,以下是h5下的实现)

  

demo

<p>网页直播测试

var server = window.location.hostname;

var stream_url = &#39;rtmp://&#39; + server + &#39;/hls&#39; + &#39;/live_stream&#39;;

//或者直接输入&#39;rtmp://ip:1935/hls/live_stream&#39;,

// mylive 对应nginx.conf配置项application的名字

// live_stream 对应Adobe Flash Stream Media Live Encoder配置的stream名称

var thisPlayer; //保存当前播放器以便操作

$(function() {

thisPlayer = jwplayer(&#39;container&#39;).setup({

flashplayer: &#39;jwplayer.flash.swf&#39;,

file: &#39;stream_url&#39;,

width: 500,

height: 350,

//autostart: true, //如果打开此标志,在打开网页时会自动播放直播流

});

//播放 暂停

$(&#39;.player-play&#39;).click(function() {

if (thisPlayer.getState() != &#39;PLAYING&#39;) {

thisPlayer.play(true);

this.value = &#39;暂停&#39;;

} else {

thisPlayer.play(false);

this.value = &#39;播放&#39;;

}

});

//停止

$(&#39;.player-stop&#39;).click(function() { thisPlayer.stop(); });

//状态

$(&#39;.player-status&#39;).click(function() {

var state = thisPlayer.getState();

var msg;

switch (state) {

case &#39;BUFFERING&#39;:

msg = &#39;加载中...&#39;;

break;

case &#39;PLAYING&#39;:

msg = &#39;正在播放&#39;;

break;

case &#39;PAUSED&#39;:

msg = &#39;暂停&#39;;

break;

case &#39;IDLE&#39;:

msg = &#39;停止&#39;;

break;

}

alert(msg);

});

//获取进度

$(&#39;.player-current&#39;).click(function() { alert(thisPlayer.getPosition()); });

//获取视频长度

$(&#39;.player-length&#39;).click(function() { alert(thisPlayer.getDuration()); });

});

</p>

  基于 video.js 的现场演示

  Video.js 是一个通用的 JS 库,用于在网页上嵌入视频播放器。 Video.js 会自动检测浏览器是否支持 HTML5,如果不支持 HTML5 会自动使用 Flash 播放器。

  video.js 5及以下版本可以直接调用video.js,video.js 6及以上版本需要调用videojs-flash.js才能播放rtmp流。

  

基于video.js实现rtmp流的直播

// 当浏览器不支持HTML5播放器的时候自动唤起flash播放器

videojs.options.flash.swf = &#39;video-js.swf&#39;;

var player = videojs(&#39;player&#39;); //player为页面video元素的id

player.play(); //播放

  ———————————————————

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线