windows环境下使用nginx搭建hls点播(m3u8)

windows环境下使用nginx搭建hls推流(m3u8)

环境:

操作系统:windows7旗舰版64位

nginx:1.8.1

ffmpeg:4.1.3

下载nginx
官网地址:http://nginx.org/en/download.html
我使用的版本是nginx-1.8.1

下载解压,修改C:\nginx-1.8.1\conf\nginx.conf配置文件(C:\为安装目录,因为我的是c盘根目录)
其实这一步可以不做任何修改。这一步一般都是修好网站存放视频的目录路径的,用默认的html就可以了

继续修改同目录下的mime.types配置文件
在59行下面添加这两段代码
    application/x-mpegURL m3u8; 
    application/vnd.apple.mpegurl m3u8;


继续在90行代码下添加这一段代码
    video/MP2T ts;
    
到这里nginx配置安装部分完成,接下来就是ffmpeg的切片处理

(1)开启http服务器:双击nginx.exe 
(2)使用ffmpeg将mp4格式文件转成TS格式文件:

记得使用该命令时,自己切换到视频文件目录下

进入盘符N          C:\Users\Administrator>N:        盘符自己对应自己的电脑盘符

进入铁血战士目录         N:\>cd 铁血战士               铁血战士为目录,自己对应好,自己要进入的目录文件名称

dir    查看当前目录文件

ffmpeg -y -i input.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb output.ts
//input.mp4原文件名称,无指定路径,需手动切换到切片视频目录下进行该命令,
//output.ts转换之后出输ts文件名称
(3)使用ffmpeg将TS文件切成ts分片并产生m3u8文件:

ffmpeg -i output.ts -c copy -map 0 -f segment -segment_list playlist.m3u8 output%03d.ts
--------------------- 

//output.ts 这个看上条命令后面出输的文件名称。我这里是output.ts

//出输的m3u8文件索引文件名称,可以随意修改,我这里是playlist.m3u8

// -segment_time 10 每一段切片的控制时间,我这里是10s,根据你的情况随意修改

如果遇到将MP4转化为ts完整文件,然后将完整ts文件进行切片出现只有一个ts切片,并且不能正常使用nginx推流点播什么解决?

ts切片,正常应该有很多的切片文化才正常,ts切片只生成一个ts切片文件是因为原视频文件或者视频编码有问题,需要使用格式工厂进行一次mp4视频转码!

图1

图1问题截图


ffmpeg转换ts文件出现Codec 'mpeg4' (12) is not supported by the bit stream filter 'h264_mp4toannexb'. Supported codecs are: h264 (27) Error initializing bitstream filter: h264_mp4toannexb 出现这个问题的话ts文件就是有问题了大小是0kb,不能切片
因为原视频文件或者视频编码有问题,需要使用格式工厂进行一次mp4视频转码!

图2问题截图

格式工厂转换mp4格式不需要什么修改,正常转换就行了

格式工厂设置截图

正常切片文件
图4

tip:格式工厂现在转码利用gpu转换的,所以转换的时间根据你显卡质量来决定转换需要的时间,慢慢来

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值