简介
关于视频切片及播放,在这里简单做一个记录。
环境及安装包
服务器:CentOS
版本:CentOS Linux release 7.5.1804 (Core)
FFMpeg资源包:ffmpeg-3.1.tar.gz
yasm-1.3.0.tar.gz
安装FFmpeg
1.下载资源: wget http://www.ffmpeg.org/releases/ffmpeg-3.1.tar.gz
2.解压:tar -zxvf ffmpeg-3.1.tar.gz
配置:cd ffmpeg-3.1
./configure --prefix=/usr/local/ffmpeg
编译:make && make install
3.设置环境变量:vi /etc/profile
添加PATH=$PATH:/usr/local/ffmpeg/bin
export PATH
保存并退出
使生效:source /ect/profile
4.验证:ffmpeg -version
我在安装时出现的问题:
提示没有yasm或太旧了,于是安装yasm:
1.下载资源: wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
2.解压:tar -zxvf yasm-1.3.0.tar.gz
配置:cd yasm-1.3.0
./configure
编译:make && make install
视频切片
关于视频切片的意义:
所以在这里我使用了ffmpeg切片,大致分为两步,第一步是构建TS文件,第二步是对ts文件切片(m3u8索引文件):
- ffmpeg -i 输入视频源路径 -c copy -bsf h264_mp4toannexb 输出ts视频源路径
例如:ffmpeg -i /usr/local/nginx/res/movie/cs.mp4 -c copy -bsf h264_mp4toannexb /usr/local/nginx/res/movie/cs.ts
- ffmpeg -i ts路径 -c copy -map 0 -f segment -segment_list ‘cs/cs.m3u8’ -segment_time 10 ‘cs/cs-%03d.ts’
例如:ffmpeg -i cs.ts -c copy -map 0 -f segment -segment_list ‘cs/cs.m3u8’ -segment_time 20 ‘cs/cs-%03d.ts’
注意,需要先创建cs文件夹。
使用CKPlayer
我在这里使用的是CKPlayer,html页面引入js:
播放测试页面:
效果如下:
注意看浏览器调试信息。
视频切片技术还涉及很多很多,有空再研究了。