Windows搭建RTMP视频流服务器

参考了一篇文章,见文末。

博客中nginx下载地址失效,附上一个有效的地址:

Index of /download/

另外,在搭建过程中,遇到的问题总结如下:

1 两个压缩包下载解压并重命名后,需要

将nginx-rtmp-module文件夹移动到第1步的nginx_1.7.11.3目录下

最开始,遗失了这一步,导致后面拉流失败。

2 使用OBS推流时,点击“开始直播”,一直提示无法连接服务器,后来把windows防火墙中OBS nginx都设置了白名单,重试可以了。

3 推流成功后,使用VLC拉流测试也是OK的。VLC不错,支持RTMP和RTSP拉流。

4 还有一个点是,在使用OBS直播推流的时候,有个推流码,刚开始不知道这个怎么用,假如我设置的服务器是 rtmp://192.168.22.100/live 推流码是 stream 那么,拉流的地址就是 rtmp://192.168.22.100/live/stream. 最开始没有拼接stream,一直没拉流成功。

主要参考文章【网络通信】Windows搭建RTMP视频流服务器(含推流/拉流详细教程)_增加rtmp推流-优快云博客

### 配置 RTMP 视频流服务器 在 Linux 系统中使用 `Nginx` 和 `nginx-rtmp-module` 搭建 RTMP 视频流服务器的过程如下: #### 1. 安装必要的依赖项 在安装 Nginx 及其模块之前,需要先安装一些基础工具和库文件。以下是常见的命令: ```bash sudo apt update && sudo apt upgrade -y sudo apt install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev -y ``` 这些包包含了编译 Nginx 所需的核心组件。 --- #### 2. 下载并解压 Nginx 和 nginx-rtmp-module 下载最新版本的 Nginx 并将其与 `nginx-rtmp-module` 结合在一起进行编译。 ```bash wget http://nginx.org/download/nginx-<version>.tar.gz tar zxvf nginx-<version>.tar.gz cd nginx-<version> ``` 接着克隆 `nginx-rtmp-module` 的源代码仓库: ```bash git clone https://github.com/arut/nginx-rtmp-module.git ``` --- #### 3. 编译并安装 Nginx 运行以下命令完成 Nginx 的自定义编译过程,其中指定加载 `nginx-rtmp-module` 模块: ```bash ./configure --add-module=../nginx-rtmp-module make sudo make install ``` 这一步会将 `nginx-rtmp-module` 添加到 Nginx 中,并生成可执行程序。 --- #### 4. 配置 Nginx 支持 RTMP 协议 编辑默认配置文件 `/usr/local/nginx/conf/nginx.conf` 或者其他实际路径下的配置文件,在原有 HTTP 块之外新增一个 RTMP 块: ```nginx rtmp { server { listen 1935; # 监听标准 RTMP 端口 chunk_size 4096; application live { # 创建名为 'live' 的应用 live on; record off; # 不记录视频片段 } application hls { # HLS 转发设置 live on; hls on; hls_path /tmp/hls; # 存储 HLS 文件的位置 hls_fragment 5s; # 设置每片 TS 文件的时间长度 } } } ``` 上述配置实现了两个主要功能:一是通过 RTMP 提供直播;二是启用 HLS 式传输以便兼容更多设备[^4]。 --- #### 5. 启动 Nginx 服务 启动刚刚编译好的 Nginx 实例: ```bash sudo /usr/local/nginx/sbin/nginx ``` 如果一切正常,则可以通过访问 `rtmp://your-server-ip/live/stream-key` 进行测试视频流。 --- #### 6. 测试 RTMP 和 HLS 功能 可以利用 OBS Studio 将摄像头画面送到该服务器作为输入源。对于播放部分,荐使用 VLC Media Player 或 FFmpeg 工具验证输出效果: ```bash ffplay rtmp://your-server-ip/live/test-stream ``` 或者针对 HLS 输出尝试打开 `.m3u8` 清单链接: ```bash ffplay http://your-server-ip/tmp/hls/index.m3u8 ``` 最终确认整个程无误后即可正式投入使用[^5]。 --- ### 注意事项 确保防火墙允许 TCP 端口 1935(RTMP 默认端口号),以及任何额外开放给外部网络使用的 HTTP(S)/HLS 关联端口。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值