linux、centos下,使用【FFmpeg】将视频转为m3u8(ts)格式
环境:CentOS/Linux
FFmpeg官网:http://www.ffmpeg.org
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | 将安装到目录/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 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报