直播平台实现视频监控

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

前期探索

  • 做任何新东西都是一个踩坑的过程,当时公司的需求是能够一页展示50-60个视频,达到监控直播间的目的。 而直播协议的视频格式和普通的又不一样,是rtmp,flv,m3u8这三种,而普通H5的video标签不能够支持, 虽然在手机端H5可以支持m3u8的格式,但在pc端是不能够支持的。所以只有依赖第三方框架。

ckplayer使用方法

  • 下载地址:http://www.ckplayer.com/down/
  • 引入:一个js文件和一个含有swf文件的文件夹

// 1.定义播放相关参数
// 2.定义播放界面相关参数
// 3.将视频源嵌入flash

ckplayer调用过程和参数含义

//以下为调用播放器的标准代码
  var flashvars = {
    f: 'http://movie.ks.js.cn/flv/2011/11/8-1.flv',//视频地址
    a: '',//调用时的参数,只有当s>0的时候有效
    s: '0',//调用方式,0=普通方法(f=视频地址),1=网址形式,2=xml形式,3=swf形式(s>0时f=网址,配合a来完成对地址的组装)
    c: '0',//是否读取文本配置,0不是,1是
    x: '',//调用xml风格路径,为空的话将使用ckplayer.js的配置
    i: '',//初始图片地址
    d: 'http://www.ckplayer.com/temp/11.jpg',//暂停时播放的广告,swf/图片
    u: 'http://www.baidu.com',//暂停时如果是图片的话,加个链接地址
    l: 'http://www.ckplayer.com/down/start.swf',//视频开始前播放的广告,swf/图片/视频
    r: '',//视频开始前播放图片/视频时加一个链接地址
    t: '1',//视频开始前播放swf/图片时的时间
    e: '3',//视频结束后的动作,0是调用js函数,1是循环播放,2是暂停播放,3是调用视频推荐列表的插件
    v: '85',//默认音量,0-100之间
    p: '1',//视频默认0是暂停,1是播放
    h: '1',//播放http视频流时采用何种拖动方法,0是按关键帧,1是按关键时间点
    q: '',//视频流拖动时参考函数,默认是start
    m: '0',//默认是否采用点击播放按钮后再加载视频,0不是,1是,设置成1时不要有前置广告
    g: '',//视频直接g秒开始播放
    j: '',//视频提前j秒结束
    k: '10|40|80',//提示点时间,如 30|60鼠标经过进度栏30秒,60秒会提示n指定的相应的文字
    n: '跳过开头|小企鹅宝宝下水了|跳过结尾',//提示点文字,跟k配合使用,如 提示点1|提示点2
    b: '0x000',//播放器的背景色,如果不设置的话将默认透明
    w: '',//指定调用自己配置的文本文件,不指定将默认调用和播放器同名的txt文件
    //调用播放器的所有参数列表结束
    //以下为自定义的播放器参数用来在插件里引用的
    my_title: '视频标题',//视频标题
    my_url: 'http://www.ckplayer.com/index.php',//本页面地址
    my_summary: '这是一个测试页面',//视频介绍,请保持在一行文字,不要换行
    my_pic: 'http://www.ckplayer.com/temp/11.jpg'//分享的图片地址
    //调用自定义播放器参数结束
  };
  var params = {bgcolor: '#000000', allowFullScreen: true, allowScriptAccess: 'always'};//这里定义播放器的其它参数如背景色(跟flashvars中的b不同),是否支持全屏,是否支持交互
  var attributes = {id: 'ckplayer_a1', name: 'ckplayer_a1'};
  //下面一行是调用播放器了,括号里的参数含义:(播放器文件,要显示在的div容器,宽,高,需要flash的版本,当用户没有该版本的提示,加载初始化参数,加载设置参数如背景,加载attributes参数,主要用来设置播放器的id)
  swfobject.embedSWF('ckplayer/ckplayer.swf', 'a1', '600', '400', '10.0.0', 'ckplayer/expressInstall.swf', flashvars, params, attributes); //播放器地址,容器id,宽,高,需要flash插件的版本,flashvars,params,attributes
  //调用播放器结束
  //第一部分:开关灯
  var box = new LightBox('flashcontent');
  var $ = function (id) {
    return document.getElementById(id)
  };
  function closelights() {//关灯
    box.Show();
    $('video').style.width = '940px';
    $('video').style.height = '550px';
    swfobject.getObjectById('ckplayer_a1').width = 940;
    swfobject.getObjectById('ckplayer_a1').height = 550;
  }
  function openlights() {//开灯
    box.Close();
    $('video').style.width = '600px';
    $('video').style.height = '400px';
    swfobject.getObjectById('ckplayer_a1').width = 600;
    swfobject.getObjectById('ckplayer_a1').height = 400;
  }

demo地址:https://github.com/chinahufei/ckplayer/tree/master

转载于:https://my.oschina.net/chinahufei/blog/1585546

你可能感兴趣的:(直播平台实现视频监控)