FFmpeg总结(九)用ffmpeg进行切片生成m3u8索引文件
来源:互联网 发布:oa办公系统java源代码 编辑:程序博客网 时间:2024/05/29 15:56
在直播和点播中,通常后台并不会直接给一个http://xxx.xxx.xxx.xxx/xxx.mp4这样的url给客户端,而是通过m3u8索引列表,给客户端。今天来通过ffmpeg进行切片生成m3u8索引文件。
首先将视频文件转为视频编码h.264,音频编码aac格式的mp4文件
1、使用ffprobe查看文件编码方式
2、如果不是mp4的,可以用如下命令进行转
ffmpeg -i input.mkv -acodec copy -vcodec copy out.mp4
3、将mp4转为完整的ts
ffmpeg -i out.mp4 -c copy -bsf h264_mp4toannexb output.ts
为什么要用-bsf h264_mp4toannexb,主要是因为使用了mp4中的h264编码,而h264有两种封装:
一种是annexb模式,传统模式,有startcode,SPS和PPS是在ES中;另一种是mp4模式,一般mp4、mkv、avi会没有startcode,SPS和PPS以及其它信息被封装在container中,每一个frame前面是这个frame的长度,很多解码器只支持annexb这种模式,因此需要将mp4做转换;在ffmpeg中用h264_mp4toannexb_filter可以做转换;所以需要使用-bsf h264_mp4toannexb来进行转换;
4、将ts切片,并生成m3u8文件
ffmpeg -i output.ts -c copy -map 0 -f segment -segment_list playlist.m3u8 -segment_time 5 output%03d.ts
其中segment 就是切片,-segment_time表示隔几秒进行切一个文件,上面命令是隔5s,你也可以调整成更大的参数。
切片完成后如下所示:
完整ts文件播放如下:
使用生成的m3u8索引播放如下:
3 0
- FFmpeg总结(九)用ffmpeg进行切片生成m3u8索引文件
- ffmpeg对mp4文件进行ts切片并生成m3u8文件
- ffmpeg文件生成m3u8文件及ts切片程序(一)
- ffmpeg文件生成m3u8文件及ts切片程序(一)
- <开发笔记>搭建LAMP服务器及使用FFMPEG进行切片、生成m3u8文件
- ffmpeg 视频转ts切片并生成m3u8播放列表文件
- centos ffmpeg m3u8切片相关
- centos ffmpeg m3u8切片相关
- CentOS6.5 ffmpeg m3u8 切片
- ffmpeg生成HLS(M3U8)非定长切片(提高用户观影体验)
- FFmpeg总结(十四)FFmpeg如何解析直播点播m3u8
- 用ffmpeg 把mp4文件转为ts文件并生成m3u8列表
- 用ffmpeg 把mp4文件转为ts文件并生成m3u8列表
- 用ffmpeg 把mp4文件转为ts文件并生成m3u8列表
- 用ffmpeg 把mp4文件转为ts文件并生成m3u8列表
- 用ffmpeg 把mp4文件转为ts文件并生成m3u8列表
- 用ffmpeg 把mp4文件转为ts文件并生成m3u8列表
- 使用ffmpeg对视频进行TS切片
- java多线程-Lock与Condition接口的使用详解
- 18.3.5 分析表、检查表和优化表
- Linux 工具 —— cURL
- Redis学习与使用
- LeetCode Week10: Edit Distance, Unique Binary Search Tree(I & II)
- FFmpeg总结(九)用ffmpeg进行切片生成m3u8索引文件
- phpstudy配置虚拟主机
- LeetCode刷题(C++)——Symmetric Tree(Easy)
- const的常见用法
- stm32的printf重定向
- windows7 安装python +nltk
- 拦截导弹 蓝桥杯算法训练 Java
- thinkphp的SQL八大查询方式
- leetcode_120. Triangle