1. CKplayer简介
CKplayer 它是一款用于网页上播放视频的插件,支持的格式有:http 协议上的 flv, f4v, mp4格式,同时支持 rtmp 视频流格式播放。使用非常简单。
测试界面
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>ckplayer 6.4 版本视频播放测试</title> <script src="ckplayer.js" type="text/javascript"></script> </head> <body> <div id="videoPlay"></div> <script type="text/javascript"> //var flashvars = { // "f": "m3u8.swf",//视频地址 // "a": "http://open.ys7.com/openlive/0cdaada32f2d4106949b073e48d126da.m3u8",//调用时的参数,只有当s>0的时候有效 // "s": "0",//调用方式,0=普通方法(f=视频地址),1=网址形式,2=xml形式,3=swf形式(s>0时f=网址,配合a来完成对地址的组装) // "c": "0",//是否读取文本配置,0不是,1是 // "x": "",//调用配置文件路径,只有在c=1时使用。默认为空调用的是ckplayer.xml // "e": "3",//视频结束后的动作,0是调用js函数,1是循环播放,2是暂停播放并且不调用广告,3是调用视频推荐列表的插件,4是清除视频流并调用js功能和1差不多,5是暂停播放并且调用暂停广告 // "v": "80",//默认音量,0-100之间 // "p": "0",//视频默认0是暂停,1是播放,2是不加载视频 // "h": "0",//播放http视频流时采用何种拖动方法,=0不使用任意拖动,=1是使用按关键帧,=2是按时间点,=3是自动判断按什么(如果视频格式是.mp4就按关键帧,.flv就按关键时间),=4也是自动判断(只要包含字符mp4就按mp4来,只要包含字符flv就按flv来) // "q": "",//视频流拖动时参考函数,默认是start // "m": "",//让该参数为一个链接地址时,单击播放器将跳转到该地址 // "o": "",//当p=2时,可以设置视频的时间,单位,秒 // "w": "",//当p=2时,可以设置视频的总字节数 // "g": "",//视频直接g秒开始播放 // "j": "",//跳过片尾功能,j>0则从播放多少时间后跳到结束,<0则总总时间-该值的绝对值时跳到结束 // "k": "30|60",//提示点时间,如 30|60鼠标经过进度栏30秒,60秒会提示n指定的相应的文字 // "n": "这是提示点的功能,如果不需要删除k和n的值|提示点测试60秒",//提示点文字,跟k配合使用,如 提示点1|提示点2 // "wh": "",//宽高比,可以自己定义视频的宽高或宽高比如:wh:"4:3",或wh:"1080:720" // "lv": "1",//是否是直播流,=1则锁定进度栏 // "i": "http://www.ckplayer.com/images/loadimg3.jpg",//初始图片地址 // "d": "http://www.ckplayer.com/down/pause6.1_1.swf|http://www.ckplayer.com/down/pause6.1_2.swf",//暂停时播放的广告,swf/图片,多个用竖线隔开,图片要加链接地址,没有的时候留空就行 // "u": "",//暂停时如果是图片的话,加个链接地址 // "l": "http://www.ckplayer.com/down/adv6.1_1.swf|http://www.ckplayer.com/down/adv6.1_2.swf",//前置广告,swf/图片/视频,多个用竖线隔开,图片和视频要加链接地址 // "r": "",//前置广告的链接地址,多个用竖线隔开,没有的留空 // "t": "10|10",//视频开始前播放swf/图片时的时间,多个用竖线隔开 // "y": "",//这里是使用网址形式调用广告地址时使用,前提是要设置l的值为空 // "z": "http://www.ckplayer.com/down/buffer.swf",//缓冲广告,只能放一个,swf格式 // "loaded": "loadedHandler"//当播放器加载完成后发送该js函数loaded //}; //var params = { // "bgcolor": "#FFF", // "allowFullScreen": true, // "allowScriptAccess": "always" //};//这里定义播放器的其它参数如背景色(跟flashvars中的b不同),是否支持全屏,是否支持交互 var flashvars = { "c": 0, //不加载文本配置 "p": 1, //页面加载完成后直接播放视频 "k": "5|10|18|20|25", //提示点时间列表 "n": "提示点5|提示点10|提示点18|提示点20|提示点25", //提示点文字列表 "f": "video_test.flv" //"f": "http://movie.ks.js.cn/flv/other/1_0.flv" //视频地址 }; var params = { "bgcolor": "#fff", "wmode": "transparent", "allowFullScreen": true, "allowScriptAccess": "always" }; CKobject.embedSWF("ckplayer.swf", "videoPlay", "ckplayer_a1", "600", "338", flashvars, params); //支持并优先使用h5播放 //var video = ["http://movie.ks.js.cn/flv/other/1_0.mp4->video/mp4"]; //CKobject.embed("ckplayer.swf", "videoPlay", "ckplayer_a1", "600", "338", true, flashvars, video, params); </script> </body> </html>
2.直播延迟的问题
如果在进行rtmp直播的时候,发现画面延迟很严重,可以修改 ckplayer.js 中 ck.setup 参数字符串中的第13个参数(视频缓冲时间,单位:毫秒,建议不超过300),减少缓冲时间,但不建议修改得太小。
3. 测试源码(ckplayer 6.4版本)
https://download.csdn.net/download/tracine0513/10729945
说明:源码需要在 web 容器运行才能正常直播和点播