厦门市住宅建设办公室网站wordpress 同步 微博

张小明 2026/3/2 19:48:12
厦门市住宅建设办公室网站,wordpress 同步 微博,广州注册公司营业执照,漯河优惠网站建设价格一、基本原理 推流#xff08;Push#xff09;#xff1a;客户端#xff08;如 OBS、手机直播推流软件#xff09;向 Nginx 服务器推送流。拉流#xff08;Pull#xff09;#xff1a;Nginx 服务器从其他流媒体服务器拉取流#xff0c;然后分发给客户端。 拉流常见场…一、基本原理推流Push客户端如 OBS、手机直播推流软件向 Nginx 服务器推送流。拉流PullNginx 服务器从其他流媒体服务器拉取流然后分发给客户端。拉流常见场景你的 Nginx 不是源站只是做分发或转发你需要聚合外部流源如上游 CDN、第三方流媒体服务器你需要将外部流转为 HLS/HTTP-FLV 供网页播放。二、nginx-rtmp-module 拉流配置注意Nginx 原生不支持 RTMP需要编译或安装nginx-rtmp-module。1. 安装 nginx-rtmp-modulesudo apt update sudo apt install build-essential libpcre3 libpcre3-dev libssl-dev zlib1g-dev wget http://nginx.org/download/nginx-1.24.0.tar.gz tar -zxvf nginx-1.24.0.tar.gz git clone https://github.com/arut/nginx-rtmp-module.git cd nginx-1.24.0 ./configure --add-module../nginx-rtmp-module make sudo make install2. 配置拉流示例假设你要从rtmp://example.com/live/stream拉流然后提供给本地用户访问。配置文件片段nginx.confrtmp { server { listen 1935; # RTMP默认端口 application live { live on; # 拉流配置 pull rtmp://example.com/live/stream namestream; # HLS支持 hls on; hls_path /tmp/hls; hls_fragment 5s; } } }说明pull指令即拉流格式为pull url [namestream_name]namestream指定拉下来的流在本地的名字如rtmp://your-nginx/live/streamhls on开启 HLSm3u8便于网页播放hls_path指定切片存储路径访问方式RTMP拉流地址rtmp://your-nginx/live/streamHLS拉流地址http://your-nginx/hls/stream.m3u8HTTP-FLV拉流地址需配置http://your-nginx/live?applivestreamstream三、拉流的高级配置参数pull rtmp://url [namestream] [static|dynamic] [startnow|begin]static服务器启动时就拉流dynamic有用户请求时才拉流节省带宽start从流的哪个位置开始拉例如pull rtmp://example.com/live/stream namestream static;四、常见问题拉流失败检查源地址是否可访问检查端口防火墙延迟高调整hls_fragment切片时间检查网络质量拉流后无画面检查 Nginx 日志确认流名称一致五、拉流与推流区别方式作用说明适用场景推流直播源主动推送你是流的源站拉流代理/转发外部流你做流分发或聚合六、参考文档nginx-rtmp-module 官方文档Nginx 拉流配置示例七、复杂场景举例1. 多路拉流如果你需要同时拉取多个流可以在application下配置多个pull指令application live { live on; pull rtmp://upstream1.com/live/abc nameabc static; pull rtmp://upstream2.com/live/xyz namexyz static; hls on; hls_path /tmp/hls; }这样你的 nginx 会自动拉取abc和xyz两路流分别对应rtmp://your-nginx/live/abc和rtmp://your-nginx/live/xyz。2. 按需拉流动态拉流如果你希望只有用户请求时才拉流可以用dynamic参数pull rtmp://upstream.com/live/stream namestream dynamic;这样 nginx 只有在有用户访问rtmp://your-nginx/live/stream时才去拉取上游流。3. 拉流后转码FFmpeg 配合有时你需要把拉下来的流做转码比如降低码率、转成 HLS/FLV可以用 FFmpeg 配合 nginx步骤用 FFmpeg 拉流并推到 nginxnginx 只做分发例子ffmpeg -i rtmp://upstream.com/live/stream -c:v libx264 -c:a aac -f flv rtmp://your-nginx/live/stream这样 nginx 只需要配置常规的推流分发不用配置pullFFmpeg 实现了拉流和转码。八、拉流常见问题与解决1. 拉流不成功检查 nginx 日志通常在/usr/local/nginx/logs/error.log检查防火墙端口是否开放1935、80、443等检查上游流地址是否正确、是否有权限2. 播放卡顿或延迟大降低 HLS 切片时间hls_fragment检查服务器带宽和性能上游流本身质量是否稳定3. 拉流后本地访问不到检查 nginx 配置流名称是否一致检查访问地址格式RTMP、HLS等检查客户端播放器配置九、Nginx 拉流与其他协议除了 RTMPnginx-rtmp-module 也支持 HTTP-FLV 和 HLS1. HTTP-FLV 拉流配置参考rtmp { server { listen 1935; application live { live on; pull rtmp://upstream.com/live/stream namestream static; } } } http { server { listen 8080; location /live { flv_live on; } } }访问地址为http://your-nginx:8080/live?applivestreamstream2. HLS 拉流前面已经讲过配置hls on;访问http://your-nginx/hls/stream.m3u8十、Nginx 拉流与安全建议配置访问权限控制如 IP 白名单、token 校验等防止恶意刷流或盗链定期清理 HLS 切片目录避免磁盘占满十一、nginx-rtmp-module 的常用指令列表指令作用说明live on开启直播模式pull拉取外部流hls on开启 HLShls_pathHLS 切片存储路径hls_fragmentHLS 切片时长flv_live on开启 HTTP-FLV更多指令见 官方文档。十二、完整拉流配置模板参考rtmp { server { listen 1935; chunk_size 4096; application live { live on; # 拉流 pull rtmp://upstream.com/live/stream1 namestream1 static; pull rtmp://upstream.com/live/stream2 namestream2 dynamic; # HLS hls on; hls_path /tmp/hls; hls_fragment 5s; hls_playlist_length 30s; } } } http { server { listen 8080; location /hls { types { application/vnd.apple.mpegurl m3u8; video/mp2t ts; } root /tmp; add_header Cache-Control no-cache; } location /live { flv_live on; } } }十三、拉流监控与自动重连1. 拉流健康监控Nginx-rtmp-module 本身不直接支持健康检查但你可以通过以下方式实现定时脚本检测 HLS/RTMP 流是否正常比如用 ffprobe 或 curl 检查 m3u8/ts 文件是否更新或者用 ffmpeg 检查 RTMP 拉流是否能连通。异常邮件/钉钉告警结合 shell/python 脚本实现自动告警。示例脚本检测 HLS 是否更新#!/bin/bash file/tmp/hls/stream.m3u8 lastmod$(stat -c %Y $file) now$(date %s) if [ $((now - lastmod)) -gt 60 ]; then echo HLS流未更新可能拉流异常 | mail -s 拉流异常告警 adminexample.com fi2. 自动重连机制nginx-rtmp-module 的pull指令会自动尝试重连但如果上游流长时间断开建议配合监控脚本拉流异常时重启 nginx 或 ffmpeg 拉流进程或者用 supervisor、systemd 管理 ffmpeg 拉流进程确保异常自动重启。十四、与第三方认证结合1. 防盗链和访问控制HTTP 端鉴权可用 nginx 的auth_request或自定义 token 校验location /hls { if ($arg_token ! your_token) { return 403; } # 其他配置 }RTMP 端鉴权nginx-rtmp-module 支持on_connect、on_play、on_publish回调可配合后端接口实现鉴权。application live { live on; on_play http://127.0.0.1:8080/rtmp_auth; }你的后端接口返回 HTTP 200 则允许播放否则拒绝。十五、性能优化建议1. HLS/FLV 切片目录优化存储在/dev/shm内存盘或者 SSD提升切片读写速度定期清理过期切片防止磁盘占满。2. RTMP 配置优化chunk_size设为 4096 或更高减少包的数量合理设置worker_processes充分利用多核 CPU。3. 网络带宽与并发评估带宽确保能承载所有拉流和分发流量可用 CDN 分发 HLS/FLV减轻主服务器压力。十六、实际场景举例1. 多地直播流聚合你可以将多个上游直播源拉到本地 nginx然后统一输出为 HLS供前端页面或 APP 播放。2. 直播流备份切换可配置多个pull流主流断开时自动切换到备用流需脚本配合nginx-rtmp-module本身不直接支持自动切换。3. 直播录制nginx-rtmp-module 支持record指令将拉下来的流录制为 flv/mp4 文件。application live { live on; pull rtmp://upstream.com/live/stream static; record all; record_path /tmp/recordings; }十七、排查思路总结确认拉流配置无误检查pull指令格式、流名称、协议、端口等。查看 nginx 日志/usr/local/nginx/logs/error.log和/usr/local/nginx/logs/access.log。用 ffmpeg/ffprobe 本地测试拉流源ffprobe rtmp://upstream.com/live/stream检查防火墙端口、网络连通性客户端播放器测试用 VLC、PotPlayer、网页播放器等测试拉流地址是否可用。定期监控脚本检测流健康十八、常见流媒体协议拉流方案协议Nginx-rtmp-module支持推荐拉流方式RTMP支持pull指令或ffmpegRTSP不直接支持ffmpeg拉流转推RTMPHTTP-FLV支持flv_live onHLS支持输出不能直接拉HLS如果你要拉 RTSP 流推荐用 ffmpeg 拉流并推到 nginxffmpeg -rtsp_transport tcp -i rtsp://upstream.com/live/stream -f flv rtmp://your-nginx/live/stream
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

海口网站设计公司网站建设哪种品牌好

想象一下这样的场景:你的业务系统刚刚完成一笔重要交易,但客户却迟迟没有收到确认通知;团队协作中关键任务分配后,执行者因为错过提醒而延误进度;实时数据仪表盘上指标发生突变,决策者却毫不知情。这些&quo…

张小明 2026/1/21 22:38:36 网站建设

服装网站开发的意义建手机网站一年费用

Langchain-Chatchat 0.3.1 Windows本地部署实战指南 在企业对数据安全要求日益严格的今天,如何在不依赖云端服务的前提下,构建一个能理解私有文档内容的智能问答系统?这正是 Langchain-Chatchat 的价值所在。它将大语言模型(LLM&…

张小明 2026/1/21 22:38:06 网站建设

网站怎么换空间商html网页制作代码大全示范

Windows 10 硬件故障排除、安装与恢复指南 1. 硬件故障排除与维修 在进行硬件故障排除和维修时,安全工作至关重要。当处理电子或电气设备时,需遵循以下规则: 1. 断开设备与电源的连接。 2. 移除所有拖曳或悬挂的电缆。 3. 使用防静电腕带,现代电子设备的组件可能在微伏…

张小明 2026/1/21 22:37:35 网站建设

天津快速建站模板wordpress分享跳转插件

联想拯救者BIOS隐藏功能一键解锁:免费开启高级设置的完整指南 【免费下载链接】LEGION_Y7000Series_Insyde_Advanced_Settings_Tools 支持一键修改 Insyde BIOS 隐藏选项的小工具,例如关闭CFG LOCK、修改DVMT等等 项目地址: https://gitcode.com/gh_mi…

张小明 2026/1/21 22:37:04 网站建设

上海企业网站建设费用宜宾微信网站建设

揭秘编程语言新宠:Gleam如何用类型安全重构你的开发体验 【免费下载链接】gleam 🌟一种用于构建类型安全、可扩展系统的友好型编程语言! 项目地址: https://gitcode.com/GitHub_Trending/gl/gleam 还在为代码中的运行时错误而烦恼&…

张小明 2026/1/21 22:36:33 网站建设

建造网站需要多少钱做自媒体需要哪些网站

告别信息碎片化:Folo如何重塑你的数字内容体验 【免费下载链接】follow [WIP] Next generation information browser 项目地址: https://gitcode.com/GitHub_Trending/fol/follow 在这个信息爆炸的时代,我们每天都要面对来自各个平台的海量内容&a…

张小明 2026/1/21 22:36:02 网站建设