利用nginx搭建服务器《RTMP视频点播、直播、HLS》

利用nginx搭建服务器《RTMP视频点播、直播、HLS》
最新回答
清风不语

2026-10-29 17:45:25

一、环境与工具

选用Ubuntu 14.04 Desktop,避免因演示需求而安装Linux视频播放和直播软件的额外复杂性。建议使用nginx 1.8.1版本,尽管版本更新对整体功能影响不大,但推荐源代码编译安装以获得更好的灵活性。直播首选OBS,因其广受好评和强大的功能。

二、安装Nginx

1、安装依赖包,确保Nginx运行环境的完整性。
使用命令:`apt-get install openssl libssl-dev libpcre3 libpcre3-dev`

2、Nginx和rtmp-module的编译安装,确保两者协同工作。
安装命令:`./configure --add-module=../nginx-rtmp-module-master --prefix=/opt/nginx --with-http_ssl_module`
`make`
`make install`
`sbin/nginx --options`

三、配置点播服务器

在`nginx.conf`文件中添加RTMP配置。
基本配置:`worker_processes 1; events { worker_connections 1024; }`
RTMP配置:`rtmp { server { listen 1935; chunk_size 4096; application vod { play /opt/vide/vod; } } }`

确保`/opt/video/vod`目录中包含要播放的视频文件,如`qq.mp4`,重启Nginx进行播放。

四、配置直播服务器

在点播服务器配置文件基础上添加直播配置。
直播配置:`application live{ live on; }`
直播播放:`rtmp://localhost/live/test`

使用OBS录制并推送到服务器,客户端通过`rtmp://localhost/live/test`进行播放。

五、实时回看功能

调整直播服务器配置,实现实时回放。
`hls on;`启动HLS回放功能,确保视频切片质量、时长和存储路径的正确配置。

六、问题与优化

现有配置存在网络延迟、权限控制和网页播放等问题,需要进一步优化。考虑在Windows环境下改善延迟,实现基于IP的权限控制,并集成网页播放器支持。

总结:Nginx与rtmp-module结合,通过ffmpeg推送rtmp流,客户端通过Nginx访问实时视频流。HLS则利用HTTP协议实现,ffmpeg仍采用rtmp流形式。