ffmpeg视频切片

时间:2024-03-24 17:13:29

简介

关于视频切片及播放,在这里简单做一个记录。

环境及安装包

服务器: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
ffmpeg视频切片

我在安装时出现的问题:
ffmpeg视频切片
提示没有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视频切片
所以在这里我使用了ffmpeg切片,大致分为两步,第一步是构建TS文件,第二步是对ts文件切片(m3u8索引文件):

  1. 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视频切片
  2. 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文件夹。
    ffmpeg视频切片

使用CKPlayer

我在这里使用的是CKPlayer,html页面引入js:
ffmpeg视频切片
播放测试页面:ffmpeg视频切片
效果如下:
ffmpeg视频切片
注意看浏览器调试信息。

视频切片技术还涉及很多很多,有空再研究了。