java直播功能

  • 1.使用obs推流 (自行下载),srs(自行搭建)作为直播服务器 video.js拉取rtmp媒体流。

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

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

  • 4.video.js(自行下载)配置 注意拉流地址例  rtmp://192.168.x.x/str/key       既与推流地址一致

  • 参考文档如下

https://docs.videojs.com/

https://obsproject.com/

https://github.com/ossrs/srs

https://blog.csdn.net/m0_37615458/article/details/103415960        推流鉴权

  • 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配置

  • 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');
    });

});

 

  • 整体完成截图

  • 因为当时我的台式机没有摄像头,所以我选择了DroidCam(我是安卓手机)来充当我的摄像头,至此简单的流程跑通 。

 

  • 4
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值