环境支持
#平台环境要求说明
ckplayer支持移动端及PC端
#浏览器环境要求说明
支持各种主流浏览器,对于IE10,Chrome,Firefox等内核将默认使用H5技术实现。对于IE9及以下的浏览器刚默认使用flashplayer播放器。
#网站环境要求说明
本软件为前端软件,主要使用的开发技术为javascript,actionscript3.0,不涉及到服务器端技术,所以ckplayer可以使用于任何网站环境。即只需要环境支持使用html,json,swf格式的调用即可。
#移动端(H5)环境中播放视频
虽然HTML5(下面简称:H5)的技术已整体趋于成熟,但在视频播放方面,如果跟pc端的flashplayer对比的话,功能就显的非常简单了。如果你决定要让你的视频支持在手机端播放的话,需要了解下面这些内容。
1:视频格式必需是mp4的,移动端不支持flv,如果是直播视频,格式应该是m3u8,移动端不支持rtmp协议的播放
2:H5不能把多个mp4合并成一个视频播放,如果视频切片的话请了解m3u8格式
3:H5的API总体来说还是够用的,比如用JS控制播放器的播放/暂停之类的。但复杂的操作就不支持了,比如调整亮度,对比度
4:H5的自动播放并不是所有的平台都支持,在有些环境(手机端),即使你设置了视频自动播放,环境也不允许该命令执行,必需经过用户点击才能播放。
5:H5在有些环境中(手机)必需点击全屏按钮才会触发视频播放。
总体说来,就是不同的平台(系统类型和浏览器类型)对H5并没有一个统一的标准。所以可能出现不同的问题,测试视频请多准备几个不同的手机。
#点播注意事项及视频格式的选择
点播:即视频有总时长。
使用点播服务需要注意以下内容:
一:视频格式的选择
A:优先选择mp4格式的视频。
mp4视频格式有以下优点:
1:跨平台支持,即支持pc端和移动端(ios和安卓)。
2:该格式性能优越。
mp4视频的缺点:
1:视频时间长度过长时,在移动端会消耗大量的流量,但随着互联网流量资费的发展(将来流量是包月/年的,每月交一定费用,流量无限使用。)该缺点将不再存在。
2:视频文件相对大一些。对于服务器的空间占用方面会有一定压力。
视频本身的要求
1:视频转码格式需要是h.264
2:音频转码格式需要是AAC
3:如果考虑到需要支持在PC端低版本IE(IE9及以下)的环境中(在该环境中只能使用flashplayer播放)支持视频请求未下载到用户本地缓存区的内容播放。则需要视频本身存在关键帧和关键时间点(服务器方面也有要求)。关于这个可以查看下面的图示:
B:如果不能选择mp4格式,第二选择为m3u8。
m3u8的优点
1:因为视频被切成多个.ts文件,所以不需要考虑元数据的问题,并且可以分段加载。
2:在PC端使用flashplayer播放时可以实现视频的绝对加密。也就是视频即使是被下载到用户本地也无法使用。
m3u8的缺点
正常情况下不支持PC端的播放。ckplayer做了兼容是支持在pc端播放的,前提是pc端浏览器需要支持flashplayer
C:选择其它格式flv,f4v
优点是文件小,也可以像mp4一样支持在flashplayer环境中支持视频请求未下载到用户本地缓存区的内容播放.
缺点:
1:不兼容移动端,也不兼容PC端的h5环境。只能使用flashplayer播放。
2:文件清晰度要求高时文件会很大。
二:服务器方面的要求
如果该视频是mp4,flv,f4v格式并且需要兼容flashplayer的播放,并且需要支持视频请求未下载到用户本地缓存区的内容播放,则服务器的环境需要支持。具体的就是用户向服务器请求如:temp.mp4?start=60时,服务器能够直接从本视频的60秒发送数据流。
关于服务器端的配置,不在本文讨论范围。请自行查看本手册的其它
#直播注意事项及视频格式的选择及web协议的选择
直播的协议有:rtmp,http,rtsp等等。
最常用的有二种:http,rtmp,当使用http协议的时候视频格式需要是m3u8、mp4或flv,下面作详细说明各种环境的优缺点。
首先,rtsp不能使用于网页环境(包含PC端和移动端)。
那么直播只能选择rtmp或http
rtmp协议只支持flashplayer,也就是只能在PC端(或安卓环境中安装了flashplayer组件,这种环境比较少)安装了flashplayer的情况下使用。按现在的趋势,flashplayer是要逐渐被淘汰掉的。当然,在中国还会存在相对长时间。
http协议的直播分两种格式,m3u8和flv。flv是一种即将被淘汰的直播格式。用来做直播已显的力不从心了。所以综合考虑,m3u8相对的比较好点,优点是支持移动端,并且支持PC端上安装了flashplayer的环境。缺点就如同rtmp一样。flashplayer并不是未来的发展趋势。另外一个缺点就是m3u8是有延迟的。并不能实时,实时传输方面不如rtmp协议。因为m3u8的直播原理是将直播源不停的压缩成指定时长的ts文件(比如9秒,10秒一个ts文件)并同时实时更新m3u8文件里的列表以达到直播的效果。这样就会有一个至少9,10秒的时间延迟。如果压缩的过小,可能导致客户端网络原因致视频变卡。
考虑到以上原因。现在并没有一种可以兼容性很好的视频格式或协议来做直播。目前最理想的环境就是pc端使用rtmp已达到减少延时的效果。而移动端只能使用m3u8格式直播,如果要求不是太高,建议直接使用m3u8做直播。