linux、centos下,使用【FFmpeg】将视频转为m3u8(ts)格式

打印 上一主题 下一主题

主题 551|帖子 551|积分 1653

环境:CentOS/LinuxFFmpeg官网:http://www.ffmpeg.org
  1. 将安装到目录/usr/local/下
  2. mkdir /usr/local/ffmpeg
  3. cd /usr/local/ffmpeg
  4. wget http://ffmpeg.org/releases/ffmpeg-4.0.2.tar.bz2
  5. tar jxvf ffmpeg-4.0.2.tar.bz2
  6. chmod -R 777 /usr/local/ffmpeg
  7. // ffmpeg的编译需要先安装yasm
  8. yum install yasm
  9. ./configure
  10. make
  11. make install
  12. ffmpeg
  13. ffmpeg version 4.0.2
  14. 安装成功以后,下面体验一下如何做视频转码:
  15. (1)将MP4转换为ts格式文件(单个ts)
  16. ffmpeg -y -i 待转换mp4文件路径 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 目标ts文件
  17. 例: 在/tmp/ 目录下的test.mp4文件, 转换成test.ts格式
  18. ffmpeg -y -i /tmp/test.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb /tm p/test.ts
  19. 如果是在当前目录下:
  20. ffmpeg -y -i test.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb test.ts
  21. (2)将ts文件进行切割,转换为m3u8
  22. 转换命令格式:[1 待转换ts文件, 2 单个切片时长(0-60s), 3 目标ts切片文件]
  23. ffmpeg -i 待转换ts文件路径 -c copy -map 0 -f segment -segment_list 目标m3u8文件 -segment_time 单个切片时长 目标ts切片文件名称
  24. 比如:
  25. 当前目录/tmp/test/下有一个test.ts文件, 一个video文件夹
  26. |tmp
  27. |--test
  28. |----test.ts
  29. |----video
  30. 需求:
  31. 将转换好的m3u8文件存放到video文件夹下, 命名index.m3u8 ,
  32. 切片命名前缀nxb加长度四位数字形式:nxb-0001.ts ,nxb-0002.ts,nxb-0003.ts ...
  33. 单个切片时长2s
  34. 操作步骤:
  35. 进入操作目录:/tmp/test/
  36. cd /tmp/test/
  37. 设置文件夹读写权限:
  38. chmod -R 777 video
  39. 转换:
  40. ffmpeg -i test.ts -c copy -map 0 -f segment -segment_list video/in dex.m3u8 -segment_time 2 video/nxb-%04d.ts
  41. 转换成功后目录:直播播放xx/video/index.m3u8
  42. |tmp
  43. |--test
  44. |----test.ts
  45. |----video
  46. |------nxb-0001.ts ,nxb-0002.ts,nxb-0003.ts ...
  47. |------index.m3u8
复制代码
 


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

愛在花開的季節

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表