用ffmpeg实现基于HLS的m3u8文件生成

ffmpeg环境配置

  1. 环境配置

window:https://ffmpeg.zeranoe.com/builds/win32/shared/
linux:https://johnvansickle.com/ffmpeg/
下载解压缩完成或,在windows下载配置环境变量
Path下添加:D:\win-ffmpeg\ffmpeg-latest-win32-shared\bin

2.具体操作
1)这里使用直播中比较常用的hls_muxer对本地文件进行分片,其命令格式如下:

./ffmpeg -i s1080p.mp4 -c:v copy -c:a copy -f hls -hls_time 10 -hls_playlist_type vod high.m3u8

这里hls_time表示分片长度为10s,high.m3u8是最后输出的m3u8文件,同时这里设置了HLS类型为VOD。
2)ffmpeg还提供了segment_demuxer,提供了更通用的分片机制及参数。
实现跟2.2同样的本地文件分片,可以使用下面命令:

./ffmpeg -i bubbles.mp4 -c:v copy -c:a copy -f ssegment -segment_format mpegts -segment_list shigh.m3u8 -segment_time 10 shigh%d.ts

效果展示


如上图,运行了2命令后将bubbles.mp4分成了一个shigh.m3u8文件和若干个TS文件。

在这里插入图片描述
m3u8文件相当于将所有ts文件的索引目录展示过来,
找一个可以播放m3u8的播放器就可以直接播放了。
在这里插入图片描述

src  = 'http://localhost/hls/shigh.m3u8 '

播放器对于进度条直接读取ts文件。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值