环境:CentOS/LinuxFFmpeg官网:http://www.ffmpeg.org- 将安装到目录/usr/local/下
- mkdir /usr/local/ffmpeg
- cd /usr/local/ffmpeg
- wget http://ffmpeg.org/releases/ffmpeg-4.0.2.tar.bz2
- tar jxvf ffmpeg-4.0.2.tar.bz2
- chmod -R 777 /usr/local/ffmpeg
- // ffmpeg的编译需要先安装yasm
- yum install yasm
- ./configure
- make
- make install
- ffmpeg
- ffmpeg version 4.0.2
- 安装成功以后,下面体验一下如何做视频转码:
- (1)将MP4转换为ts格式文件(单个ts)
- ffmpeg -y -i 待转换mp4文件路径 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 目标ts文件
- 例: 在/tmp/ 目录下的test.mp4文件, 转换成test.ts格式
- ffmpeg -y -i /tmp/test.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb /tm p/test.ts
- 如果是在当前目录下:
- ffmpeg -y -i test.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb test.ts
- (2)将ts文件进行切割,转换为m3u8
- 转换命令格式:[1 待转换ts文件, 2 单个切片时长(0-60s), 3 目标ts切片文件]
- ffmpeg -i 待转换ts文件路径 -c copy -map 0 -f segment -segment_list 目标m3u8文件 -segment_time 单个切片时长 目标ts切片文件名称
- 比如:
- 当前目录/tmp/test/下有一个test.ts文件, 一个video文件夹
- |tmp
- |--test
- |----test.ts
- |----video
- 需求:
- 将转换好的m3u8文件存放到video文件夹下, 命名index.m3u8 ,
- 切片命名前缀nxb加长度四位数字形式:nxb-0001.ts ,nxb-0002.ts,nxb-0003.ts ...
- 单个切片时长2s
- 操作步骤:
- 进入操作目录:/tmp/test/
- cd /tmp/test/
- 设置文件夹读写权限:
- chmod -R 777 video
- 转换:
- ffmpeg -i test.ts -c copy -map 0 -f segment -segment_list video/in dex.m3u8 -segment_time 2 video/nxb-%04d.ts
- 转换成功后目录:直播播放xx/video/index.m3u8
- |tmp
- |--test
- |----test.ts
- |----video
- |------nxb-0001.ts ,nxb-0002.ts,nxb-0003.ts ...
- |------index.m3u8
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |