java直播功能

1.使用obs推流 ,srs作为直播服务器 video.js拉取rtmp媒体流。

2.srs配置,开始服务器录制直播视频、自定义录制视频存放地址,开启http回调,详看下方配置

 https://github.com/ossrs/srs

3.obs配置看图,推流地址 rtmp://192.168.x.x/str           str自定义     串流秘钥key自定义

(请查看我这篇,推流鉴权 https://blog.csdn.net/m0_37615458/article/details/103415960)

https://obsproject.com/

4.video.js配置 注意拉流地址例  rtmp://192.168.x.x/str/key       既与推流地址一致

https://docs.videojs.com/

 

--------------------------------------------配置贴图----------------------------------------

srs配置如下

listen              1935;
max_connections     1000;
srs_log_tank        file;
srs_log_file        ./objs/srs.log;
http_api {
    enabled         on;
    listen          1985;
}
http_server {
    enabled         on;
    listen          8080;
    dir             ./objs/nginx/html;
}
stats {
    network         0;
    disk            sda sdb xvda xvdb;
}
vhost __defaultVhost__ {
           gop_cache       off;
           queue_length    10;
           min_latency     on;
           mr {
              enabled     off;
           }
           mw_latency      100;
           tcp_nodelay     on;

          dvr {
             enabled         on;
             dvr_path        /mnt/data/ean-upload/flv/[15].[04].[05].[999].flv;#自定义的文件存放地址,命名生成规则自行看文档
             dvr_plan        session;
             dvr_duration    30;
             dvr_wait_keyframe       on;
             time_jitter             full;
          }

           http_hooks {
             enabled         on;
             on_dvr          http://192.168.2.101:8061/open/api/public/course/flvCallBack; #配置的dvr录制完视频后http回调地址
    }

}

srs常用命令贴图---请在trunk目录下执行命令,路径例如图

srs 运行
./etc/init.d/srs start

在运行过程中查看log
tail -f ./objs/srs.log


停止srs服务器

./etc/init.d/srs stop


重新打开srs服务器
./etc/init.d/srs restart

 

obs配置

java直播功能_第1张图片

video.js配置

var player = videojs('example_video_1', {
    preload: 'auto',
    //poster: '/statics/images/ean.png',//封面
    title: 'ean',
    author: 'dongwn',
    width: '1px',
    height: '439px',
    controls: true,
    'autoplay': true,
    sources: [{
        src: Page.RtmpUrl + Page.roomId + '/' + Page.secretKey,//srs地址与推流地址一致,url/str/key
        type: 'rtmp/flv'
    }]
}, function () {
    player.on('ended', function (e) {
        window.console.log('videoJS: ended');
    });
    player.on('error', function (e) {
        window.console.log('videoJS: error');
    });
    player.on('pause', function (e) {
        window.console.log('videoJS: pause');
    });
    player.on('waiting', function (e) {
       window.console.log('videoJS: waiting');
    });
    player.on('play', function (e) {
        window.console.log('videoJS: play (adState: ' + player.ads.state + ')');
    });
    player.on('ads-ad-started', function (e) {
        window.console.log('videoJS/Ads: ads-ad-started');
    });

});

整体完成截图

 

java直播功能_第2张图片

整体就是这样,srs还有很多配置的地方,比如直播启动速度等,需要再深入看文档,欢迎留言。

你可能感兴趣的:(javaweb)