car-eye server 开发之 Nginx RTMP server

用nginx实现一个直播服务—RTMP推流和HTTP-FLV拉流 这篇文章主要记录用nginx实现直播服务,通过RTMP推流和通过HTTP-FLV或RTMP拉流,并在页面中播放。 阅读详情

转自:https://blog.youkuaiyun.com/Car_eye/article/details/79847666

car-eye 开源团队平台开始是基于RTSP协议开发的。在做好了RTSP和RTMP推送和播放两端的库和demo之后,我们决定启动RTMP服务器的开发。nginx RTMP是俄罗斯战斗民族开发一个高性能的RTMP服务器,现在已经停止维护。他的强大在于Nginx的稳定性和高并发性。先将代码下载下来并开始编译:

https://github.com/Car-eye-team/Car-eye-RTMP-server/tree/master/source

全部东西都在里面了。

开始编译配置:

./configure --prefix=/opt/nginx --add-module=../nginx-rtmp-module  --with-pcre=../pcre  --with-openssl=../openssl --with-zlib=../zlib --with-http_stub_status_module

make

make install 产生文件。记得在编译之前需要安装GCC等工具

修改nginx.conf 支持RTMP。

rtmp_auto_push on;

rtmp {                                         #支持RTMP服务
    server {
    listen 1935; 
    chunk_size 4096;  

    application vod {                          #支持点播功能
    play /opt/video/vod;
    }

    application live {
    live on;                                   #支持直播功能

    hls on;                                    #支持hls功能。
    wait_key on;                               #对视频切片进行保护,这样就不会产生马赛克了。
    hls_path /opt/video/hls;                   #切片视频文件存放位置。
    hls_fragment 10s;                          #每个视频切片的时长。
    hls_playlist_length 60s;                   #总共可以回看的事件,这里设置的是1分钟。
    hls_continuous on;                         #连续模式。
    hls_cleanup on;                            #对多余的切片进行删除。
    hls_nested on;                             #嵌套模式。
    }


    #record keyframes;#录制flv文件
    #record_path /tmp;
    #record_max_size 128K;
    #record_interval 30s;
    #record_suffix .flv; 


    }
}

将一些测试程序拷贝到nginx安装目录。并开始测试如,nginx 源码目录有一个test目录,拷贝到安装目录。并再次修改

nginx.conf

 location /stat {                             #显示服务器rtmp链接状态
        rtmp_stat all;
        rtmp_stat_stylesheet stat.xsl;
    }
    location /stat.xsl {                         #显示服务器rtmp链接状态
        root /opt/nginx/nginx-rtmp-module-1.2.1;
    }

location /live {                            #支持hls功能
        types {  
            application/vnd.apple.mpegurl m3u8;  
            video/mp2t ts;  
        }
        alias /opt/video/hls;   
        expires -1;
        add_header Cache-Control no-cache;  
    }  

    location /rtmp-publisher {

    root /opt/nginx/nginx-rtmp-module-1.2.1/test;  
    }
    location / {  
    root /opt/nginx/nginx-rtmp-module-1.2.1/test/www;
    }

重新加载配置文件
sudo ./sbin/nginx -s reload
直播测试使用obs推流
rtmp://192.168.12.178/live/livestream

hls请求
http://192.168.12.178/live/livestream/index.m3u8

vlc请求
rtmp://192.168.12.178/live/livestream


点播测试
rtmp://192.168.12.178/vod/test.flv


访问ngixn负载状态
http://192.168.12.178/nginx_status


访问rtmp链接状态
http://192.168.12.178/stat


jwplayer 直播rtmp
http://192.168.12.178/index.html


rtmp 例子
香港卫视
rtmp://live.hkstv.hk.lxdns.com/live/hks
直播rtmp
file: "rtmp://192.168.12.178/live/livestream"
点播rtmp
file: "rtmp://192.168.12.178/vod/test.flv"

注意IP地址为自己的机器的IP

有关源码可以从car-eye 开源github上下载

https://github.com/Car-eye-team/Car-eye-RTMP-server car-eye      开源技术交流群:590411159
【信息科学与工程学】计算机科学与自动化——第八十六篇 各类应用上云计算 01 数字孪生:核心是实时性不等式(Δ<Δt)与带宽-精度权衡。数学上归结为带约束的非线性优化。预测性维护:从物理退化方程(Paris 定律)出发,结合贝叶斯推断,云端训练用深度时序模型,边缘推理用轻量模型。机器人协同:本质是多商品流 + 动态障碍物,需用图论(冲突检测)+ 最优控制(轨迹平滑)。工业视觉:延迟由四个环节组成,需用排队论分析流水线瓶颈,量化感知是降低延迟的关键。液压/气动系统上云(涉及流体力学、热力学、控制)机械臂力控/阻抗控制上云(涉及动力学、力/位混合控制) 阅读详情

相关推荐

Nginx RTMP模块实战指南:搭建流媒体服务

Nginx RTMP模块是一个开源的nginx模块,它为nginx提供了RTMP服务器的功能。RTMP(Real-Time Messaging Protocol)是一种设计用来进行实时消息传输的网络协议。它广泛应用于实时音视频传输领域,特别是在直播行业中。实时消息传输协议(Real-Time Messaging Protocol, RTMP)主要用于流媒体数据在互联网上进行实时传输。它的基本原理是通过建立一个持久化的TCP连接,用于传输控制信息和元数据,以及多个复用的FLV流,用于传输音视频数据。

weixin_34620658的博客 1676

利用Nginx搭建自己的rtmp服务器

利用NGINX搭建自己的rtmp服务器

q_q王的博客 6960

Nginx-RTMP模块流媒体服务器详解与配置

Nginx(发音为“engine x”)是一个高性能的HTTP和反向代理服务器,以及一个IMAP/POP3/SMTP服务器。由俄罗斯程序员Igor Sysoev开发,用于解决高并发、低延迟的服务需求场景。Nginx以其高效、稳定的性能以及易于配置而闻名,在全球范围内拥有大量的用户和社区支持。实时消息传输协议(RTMP)是一种由Adobe公司开发的开放视频流和音频流的协议。它被广泛用于在线直播、视频会议、视频通话等场景中,尤其是在实时性要求较高的场合。

weixin_42596011的博客 705

使用nginx搭建一个RTMP流服务器

RTMP(Real Time Messaging Protocol)称为实时消息传送协议,它是 Adobe 公司为 Flash 播放器和服务器之间传输音视频开发的私有协议。RTMP 属于应用层协议,传输层需要靠 TCP 来保证消息的可靠性,更多 RTMP 相关的内容可以参考雷博士的。nginx 不仅可以搭建一个高性能 Web 服务器,还有很多扩展模块,例如 nginx-rtmp-module,默认情况下安装 nginx 是不包含该模块的,需要先将 nginx-rtmp-module。

椛茶的博客 6372

Linux环境傻瓜式nginx+rtmp+ffmpeg套餐安装详解(获取拉流人数)

本文图文并茂地介绍了如何安装nginx+rtmp+ffmpeg组合套装,为了偷懒不重复上传同样的文本和图片信息,直接附上本人的制作的文档链接,请点击直接查看。 【腾讯文档】Nginx+rtmp+ffmpeg安装 https://docs.qq.com/doc/DWFRpSVBOWENLdnV4 ...............

a342874650的专栏 4958

Innovus ECO技巧:用setEcoMode+ecoAddRepeater实现批量buffer替换的5个关键步骤

本文详细介绍了在Cadence Innovus工具中,利用setEcoMode与ecoAddRepeater命令实现高效、批量Buffer/Inverter替换的工程化策略。通过启用批处理模式、构建可维护的替换规则、掌握高级定位技巧以及规避布线陷阱等5个关键步骤,帮助芯片设计工程师在ECO阶段大幅提升修改效率与质量,确保设计稳定签核。

d6e7f8的博客 1117

nginx搭建rtmp服务器

目录 前言 一、nginx是什么? 二、环境准备 1.系统版本 2.nginx版本 三、搭建过程 1.安装编译 nginx 所需要的库 2.下载 nginx-1.21.6.tar.gz 3.下载 nginx-rtmp-module 4.解压 1)解压nginx文件 2)解压rtmp模块 5.编译 1)进入解压后的nginx路径 2)编译 3)安装 6.启动nginx,检测nginx是否能成功运行 7.配置nginx使用RTMP, /usr/local/nginx/co..

qq_37079898的博客 1万+

ChatGPT Plus账号被降智?3个实用检测方法+终极解决方案(附国内支付指南)

本文针对ChatGPT Plus账号性能下降问题,提供了3个科学检测方法和系统级解决方案。通过详细分析症状、专业诊断技巧和优化策略,帮助用户有效应对GPT-4o等高级功能失效、响应质量下降等问题,特别包含国内用户关心的支付方案和账号管理建议。

weixin_42639633的博客 472

部署RTMP(nginx)视频流服务

rtmp nginx dji

qq_46551351的博客 5050

大一Python之循环解决实际问题

pythin之循环解决实际问题

weixin_66263546的博客 2287

cadence CIS 库建立--建立自己维护的CIS数据库

遇到一个问题,在使用cadecnce的时候,就是没有自己的本地/分享的数据库。 在画原理图或者PCB的时候,如果能搭建一个自己的数据库,在局域网或者本地 就好了。出于这样的想法,做了一些探索,找到了一种可能的答案。 由于数据库编制知识的缺乏,要自己建一个数据库似乎花费的时间会比较多。 偶发奇想,如果能够改编CIS 自带的数据库 另建立副本进行维护 就能够省下不少麻烦。 先说下CIS 是个啥。网上一搜:总之CIS 是个好东西。 功能强大。 点击CIS capture 中的 Options CIS Config

qq_29776365的博客 2万+

car-eye server 开发之 Nginx RTMP server

car-eye 开源团队平台开始是基于RTSP协议开发的。在做好了RTSP和RTMP推送和播放两端的库和demo之后,我们决定启动RTMP服务器的开发。nginx RTMP是俄罗斯战斗民族开发一个高性能的RTMP服务器,现在已经停止维护。他的强大在于Nginx的稳定性和高并发性。先将代码下载下来并开始编译:https://github.com/Car-eye-team/Car-eye-RTMP...

Car_eye的博客 536

保姆级教程:在RK3576上配置USB网卡从零到外网访问(附udev规则详解)

本文提供了在RK3576开发板上配置USB网卡的完整教程,涵盖从内核驱动、udev规则到网络路由的全流程。重点讲解了如何利用USB Gadget功能实现高速网络连接,并构建稳定的算力集群,确保多设备间通信及外网访问。

grass的博客 458

Nginx RTMP 模块 nginx-rtmp-module 指令详解

译序:截至 Jul 8th,2013 官方公布的最新 Nginx RTMP 模块 nginx-rtmp-module 指令详解。指令Corertmp语法:rtmp { ... }上下文:根描述:保存所有 RTMP 配置的块。server语法:server { ... }上下文:rtmp描述:声明一个 RTMP 实例。rtmp {  server {  }}listen语法:listen (addr...

Car_eye的博客 770

Altera Cyclone4 EP4CE15F17C8核心板硬件设计避坑指南(附AD09工程文件)

本文深入解析Altera Cyclone4 EP4CE15F17C8核心板硬件设计中的关键问题与解决方案,涵盖电源架构优化、信号完整性处理、热设计及生产调试要点。特别提供经过验证的AD09工程文件,帮助开发者规避常见设计陷阱,提升FPGA项目的成功率与可靠性。

weixin_29159441的博客 297

基于AI大模型实现自然语言转SQL、SQL解释、SQL优化和SQL转换

随着大数据和人工智能技术的发展,数据分析和数据挖掘在各行各业中的应用越来越广泛。SQL(Structured Query Language)作为关系数据库的查询语言,是数据分析的重要工具。然而,SQL语言的复杂性和专业性使得许多非技术背景的用户难以直接使用,阻碍了数据的广泛利用。为了降低SQL的使用门槛,许多研究者和企业开始探索如何通过自然语言处理(NLP)技术,将自然语言转化为SQL查询语句,从而让用户可以通过自然语言与数据库进行交互。

AI天才研究院 2239

CarEye 视频平台解决方案

介绍视频平台的方案

Car_eye的博客 1420

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

windows系统下利用Nginx搭建rtmp流媒体服务器

Nginx是一个高性能的HTTP和反向代理web服务器,并且支持rtmp,不过rtmp是作为一个nginx的一个模块。对于linux系统,需要另外编译安装rtmp模块;而对于windown系统有带rtmp的nginx的版本。

^_^ 5469

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

通俗易懂讲解 nginx-rtmp-module 是干嘛的?

是一个用于 Nginx 的第三方模块,它扩展了 Nginx 服务器的功能,使其能够处理实时流媒体数据,特别是支持 RTMP (Real-Time Messaging Protocol) 协议。RTMP 是 Adobe Systems 开发的一种协议,常用于实时音视频通信,尤其是在直播场景中。直播服务器:允许用户设置一个简单的直播服务器,主播可以通过 RTMP 协议推送直播流到服务器,而观众可以通过 HLS (HTTP Live Streaming)、RTMP 或其他协议观看直播。视频点播(VOD)

球球不吃虾WHR2349博客 3678

nginx.conf中关于nginx-rtmp-module配置指令详解

描述:定义每个流发布时要执行的带有参数的外部命令。* HTTP 3XX 返回码的话 重定向 RTMP 到另一个流,这个流的名字在 HTTP 返回头的 Location 获取。描述:设置 HTTP 连接回调。返回码 3XX (重定向状态码)会使 RTMP 重定向到另一个从 HTTP 返回头里获取到的 application。发送一个特殊的包到远程连接,然后在 ping_timeout 指令指定的时间内期待一个回复。Url 语法:[rtmp://]host[:port][/app[/playpath]]。

守护大白菜的博客 3789

nginx-rtmp协议解读

前言 1.RTMP(实时消息传输协议)是Adobe 公司开发的一个基于TCP的应用层协议。 2.RTMP协议中基本的数据单元称为消息(Message)。 3.当RTMP协议在互联网中传输数据的时候,消息会被拆分成更小的单元,称为消息块(Chunk)。 一、握手协议 要建立一个有效的RTMP Connection链接,首先要“握手”:客户端要向服务器发送C0,C1,C2(按序)三个chunk,服务器向客户端发送S0,S1,S2(按序)三个chunk,然后才能进行有效的信息传输。RTMP协议本身并没有规定..

weixin_43360707的博客 2294

CarEye 智能云平台升级

文章描述了管理平台从单机版本到云架构的升级原因和主要注意事项

Car_eye的博客 3149

Nginx+Rtmp推流服务器方案

打开OBS,在文件 -> 设置->直播中,填入rtmp://ip:port/live/,以及推流码。或http://ip:port/hls/demo.m3u8。输入: rtmp://ip:port/live/demo。出现Welcom to nginx ,配置成功。设置好了,添加一个屏幕捕获,点击开始直播。打开VLC,媒体->打开网络串流->网络。1935端口是默认的推流端口。安装包,并将其放在了。

polaris的博客 1614

基于NGINX实现RTMP推流服务器

RTMP概念: RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写。 该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。 RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。支持该协议的软件包括Adob...

blue_sky的博客 5671

Nginx下搭建rtmp流媒体服务 并使用HLS或者OBS测试

将linux目录下的文件上传到对应的服务器,解压,目录结构win一样,我是把 nginx-rtmp-module-1.2.2目录 重命名为 nginx-rtmp-module ,所以我的安装命令是 --add-module=./nginx-rtmp-module。配置文件和测试原理一样,记得把文件路径修改为linux目录下的,需要自行创建目录,并且赋予权限,nginx linux下运行的用户需要拥有目录权限才行,如果是root也需要自行创建目录 给予权限。点击 媒体 -> 打开网络串流,输入。

若疆~赤云 1252
上一篇: VS2017使用项目管理编译Nginx与RTMP Module
下一篇: WIN10下使用VS2017的MSVC编译FFMPEG3.4.2动态静态库
路过&
博客等级 码龄19年 126粉丝 91原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值