nginx-http-flv-module音视频传输模块

联合创作 · 2023-09-29 19:57

nginx-http-flv-module

nginx-http-flv-module是在nginx-rtmp-module基础上实现的一个音视频传输模块,将RTMP转为FLV封装格式,再通过HTTP协议下发。

支持HTTP-FLV方式直播,添加了GOP缓存功能,减少了首屏等待时间,对RTMP和HTTP-FLV都有效,添加了VHOST(单IP地址多域名)功能并支持类似Nginx的HTTP模块的通配符配置;修复了nginx-rtmp-module中已知的bug。

支持VLCOBSflv.js等常见的播放器播放。

推流:

ffmpeg -re -i media_file -c copy rtmp://host[:port]/app_name/stream_name

其中media_file建议是H.264视频编码和AAC音频编码;port如果不指定,默认为1935,app_name和stream_name是RTMP协议中的概念。

播放:

http://host[:http_port]/dir?[port=rtmp_port&]app=app_name&stream=stream_name

重点说明一下port=rtmp_port参数,如果不指定,那么默认去1935端口拉取RTMP流,否则去推流中的port端口拉取RTMP流。

示例图片:

JWPlayer(RTMP)和VLC(HTTP-FLV)

    flv.js(HTTP-FLV)

注意:

VHOST功能(单IP地址映射为多个域名)在多进程模式下还有问题。

浏览 9
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报