简单的直播搭建流程 本微博在借鉴其他大牛之后,觉得应该写一个直播的完整流程,虽然简单,但是会有一个宏观感受: 搭建nginx服务器 工具: nginx下载地址:https://nginx.org /download/nginx-1.13.6.zip nginx-rtmp-module-master.zip下载地址:https://github.com/arut/nginx-rtmp-module / 使用方法: 将两个工具文件解压,然后将这个nginx-rtmp-module-master放到nginx解压文件的一级目录底下 配置文件conf\nginx-win-rtmp.conf的方法: hls_path C:\nginx\hls; hls_fragment 5s; } } } 说明:hls_path 为m3u8,及ts文件存储路径; hls_fragment为每个 ts的时长 启动服务器 进入windows的cmd; cd nginx-1.7.11.3-Gryphon nginx.exe -c conf\nginx-win-rtmp.conf
编译m3u8-segmenter 下载地址:https://github.com/johnf/m3u8-segmenter.git 编译问题: 1.configure: error: Package requirements (libavformat libavcodec libavutil) were not met: 解决方法: 手动编译 gcc -Wall m3u8-segmenter.c -o segmenter ‘CODEC_ID_MP3’ undeclared (first use in this function) 解决方法: 宏名前加AV_ 参考https://github.com/johnf/m3u8
前言 搭建基于rtmp协议的推流服务器。 .tar.gz tar zxvf nginx-1.12.2.tar.gz rm nginx-1.12.2.tar.gz mv nginx-1.12.2 nginx 3、备份文件 cp -r /etc /nginx /etc/nginx_bak mv /usr/sbin/nginx /usr/sbin/nginx_bak 下载rtmp模块 仓库地址:nginx-rtmp-module cd /usr/ nginx/modules/nginx-rtmp-module make make install 添加Nginx环境变量,可以在命令行直接输入Nginx命令 vim /etc/profile 在最后添加 配置Nginx的rtmp服务站点: vim /usr/local/nginx/conf/nginx.conf 在http内部添加 include /etc/nginx/conf.d/*.conf;
01 前言 前段时间在输入法评测过程中,需要将视频流实时上传给服务器进行解析,接触RTMP直播服务器。因此将搭建RTMP服务器的过程分享给大家。 /arut/nginx-rtmp-module 2、直接用命令clone: git clone https://github.com/arut/nginx-rtmp-module 【二、安装nginx 2、在nginx配置文件(nginx.conf),在server中添加如下代码: ? 3、配置完成后,检查配置是否正确:nginx -t 。 4、配置没有问题重启nginx:nginx -s reload 03 检查RTMP服务是否生效 1、在浏览器中输入:http://+服务器ip+端口+stat 3、输入下面命令想服务器推流: ffmpeg -re -i +视频路径 -c copy -f flv +推流服务器地址 4、浏览器的页面中的live streams出现如下则表示推流成功。
https://blog.csdn.net/wanggao_1990/article/details/81591589 一、配置 1、nginx流媒体服务器 下载nginx源码,nginx-rtmp-module http拉流测试如下 内网: 拉流3 失败 http://192.168.3.179:1935/hls/hks.m3u8 (苹果浏览器可以?) 拉流4 失败 http://mag—————-2.net:1935/hls/hks.m3u8 拉流5 成功 http://mag—————-2.net:8182/hls/hks.m3u8 外网: 拉流2 失败 http://mag—————-2.net:1935/hls/hks.m3u8 拉流3 成功 http://mag—————-2.net:8182/hls/hks.m3u8 注意: hls 应用下(内网或外网),rtmp://…/hls/…比http://…/hls/…m3u8快30s。
简介 环境搭建 crtmapserver编译 FFmpeg推流 rtmp流拉取 使用nginx配置rtmp服务器 FFmpeg使用语法 环境搭建 需要安装 wget cmake libssl-dev apt-get 3.png 接下来就成功的播放了直播流视频 ? 4.png 使用nginx配置rtmp服务器 下载安装nginx和nginx-rtmp-module nginx 直接到官网下载 nginx-rtmp-module 在github上下载 ? /configure --add-module=/root/nginx-rtmp-module make make install 编译安装完后nginx目录在/usr/local/nginx下 而nginx /nginx 重启 ./nginx -s reload 其他更多命令可自行查找。 配置nginx的rtmp服务 编辑conf/nginx.conf。添加以下配置 ?
安装模块 请移步 https://www.cuiwei.net/p/1011052604 配置文档 https://github.com/arut/nginx-rtmp-module/wiki/Directives vi /etc/nginx/nginx.conf load_module modules/ngx_rtmp_module.so; events { worker_connections 1024 ; } rtmp { server { listen 1935; chunk_size 4096; application rtmp-live } http { ... } 推流测试 ffmpeg 命令行推流 ffmpeg -re -stream_loop -1 -i ./55427366_48_0.flv -c copy -f flv rtmp (); hls.loadSource('https://pull-hls-f96.douyincdn.com/stage/stream-399947309713982122_or4.m3u8
也要玩玩推流服务器~~~ 实现服务器推流/PC客户端观看/浏览器客户端查看 ---- ****简介**** 对于Nginx的优点呢就不多说了,两句话: 1)并发量高 2)可负载均衡 重点谈谈rtmp RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。现在更流行于直播平台服务器的推流处理! /github.com/nginx/nginx.git #nginx的rtmp模块源码 $ git clone https://github.com/arut/nginx-rtmp-module.git , 就是为了能在外部能访问这些ts文件和m3u8文件。 Alic_浏览器 搭建推流服务器Nginx+rtmp就成功了! 即将总结ffmpeg推流的命令~~~ ----
install libpcre3-dev git clone https://github.com/arut/nginx-rtmp-module.git cd nginx-1.12.2 . /configure --add-module=/nginx/nginx-rtmp-module make make install cd /usr/local/nginx/sbin/ . /nginx cd /usr/local/nginx/conf/ vim nginx.conf ---- 在nginx.conf文件添加 rtmp { server { all; rtmp_stat_stylesheet stat.xsl; } location /stat.xsl { root /nginx/nginx-rtmp-module all; rtmp_stat_stylesheet stat.xsl; } location /stat.xsl { root /nginx/nginx-rtmp-module
一般点播或者直播服务器都是使用nginx-rtmp-module作为服务器,然后使用ffmpeg或者obs来进行推流,客户端使用rtmp、http-flv、hls或者dash协议拉取转码后的数据 网上很多编译nginx+nginx-rtmp-module的方法,但是很少有可用的openresy+nginx-rtmp-module的编译方法。 /nginx-rtmp-module --add-module=../.. 转流成功后在我们之前配置的nginx rtmp模块的接收路径下(/hls)会生成m3u8索引文件,m3u8其实就是ts文件的索引,ffmpeg会把一个直播源的数据分割成很多个ts文件,访问m3u8可以获取 obs设置推流服务器地址为 rtmp://localhost:1985/hls/stream 需要注意的是,服务器地址是 rtmp://127.0.0.1:1985/hls/ 密钥是 stream
直播服务器,最终可以成功运行。 不过我们今天不讲解如何在windows上搭建直播服务器,如果有问题的朋友可以一起探讨。今天来讲解如何在ubuntu服务器上搭建直播服务器。 RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。 /nginx-rtmp-module/ $ chmod a+x cfg.sh $ . /cfg.sh $ make $ make install 3.配置服务环境 安装完成后修改配置文件执行下列操作: 进入 cd /usr/local/nginx/conf 编辑 nginx.conf
, openssl and rtmp-nginx-module ==> Installing denji/nginx/nginx-full dependency: pcre ==> Downloading patching file hls/ngx_rtmp_mpegts_crc.h patching file ngx_rtmp.c patching file ngx_rtmp_access_module.c patching file ngx_rtmp_exec_module.c patching file ngx_rtmp_handshake.c patching file ngx_rtmp_init.c /usr/local/Cellar/rtmp-nginx-module/1.1.7.11-dev_3: 94 files, 1.4MB, built in 21 seconds ==> Installing denji/nginx/nginx-full --with-rtmp-module ==> Downloading nginx.org/download/ng… ###################
安装Nginx --下载nginx-rtmp-module模块 git clone https://github.com/arut/nginx-rtmp-module.git --安装依赖 yum install --add-module=/nginx-rtmp-module/ make && make install 点播视频服务的配置 --编辑主配置文件 vim /usr/local/nginx/conf/ server_name localhost; location /live { #这里也是需要添加的字段 types { application/vnd.apple.mpegurl m3u8 验证 --查看是否产生切片视频文件 [root@host1 html]# ls live/ 0.ts 1.ts 2.ts 3.ts 4.ts 5.ts index.m3u8 数据统计模块 数据统计模块是 /stat.xsl { root /nginx-rtmp-module/; } --重载配置文件 /usr/local/nginx/sbin/nginx -s reload 验证 浏览器访问'http
/configure make && make install 查看pcre版本 pcre-config --version 3.安装zlib库 wget http://www.zlib.net/zlib /configure --add-module=/usr/local/nginx/nginx-rtmp-module make & make install 6.配置Nginx的rtmp服务站点 vim :rtmp://服务器地址:1935/tv_file 串流密钥:test(这处随便,也就是保存到服务器端的文件名) 开始推流: 然后在服务器段就可以看到 .ts .m3u8文件 cd /usr/local /nginx/html/tv_file ls test-0.ts test-1.ts test-2.ts test.m3u8 8.拉流测试 下载安装 VLC 下载地址 https ://www.videolan.org/ 点击媒体->打开网络串流 选择网络,在URL里输入 流媒体服务器IP和串流密钥 rtmp://服务器地址:1935/tv_file/test 点击播放 版权声明
注:Nginx服务器默认安装完成,只添加nginx-rtmp-module模块和nginx-http-flv-module模块,如果没有安装nginx服务,请参考 nginx安装 下载nginx所需要的模块下载地址 所有准备工作做完之后开始安装 第一步:将nginx模块解压缩后,上传到服务器,记住这个路径 第二步:通过命令进入到nginx资源目录下,就是后缀为.tar.gz解压出来的文件 [Snipaste_2021 /configure --add-module=/opt/rh/nginx-rtmp-module make && make install . 服务器 [root@home nginx-1.18.0]# /usr/local/nginx/sbin/nginx -s stop [root@home nginx-1.18.0]# /usr/local /nginx/sbin/nginx 重启完成后,会在配置的地址下面看到多了一个文件夹 [Snipaste_2021-07-23_16-20-09.png] 第六步:视频推流 通过obs将视频推到服务器上面
1、消息 2、块 3、rtmp的消息类型 4、实例分析rtmp传输过程 一、消息 消息是rtmp的基本数据单元,服务端和客户端通过在网络上发送RTMP消息进行通讯。 协议控制消息使用的ID为 1、2、3、5 和 6 (前面已经介绍过了)。 用户控制消息应该使用消息流ID 0 (以被认为是控制流),并且以RTMP块流发送时以块流ID为2。 SetBuffer Length (=3) 客户端发送这一事件来通知服务器缓冲区大小 (以毫秒为单位),这个缓冲区用于缓存来自流的任何数据。此事件在服务器开始处理流之前就发送。 PingRequest (=6) 服务器端发送这一事件用于测试客户端是否可达。事件数据是为一个4字节的时间戳,代表了服务器端发送这一命令时的服务器本地时间。 3、RTMP命令消息 3.1.数据消息(Message Type=18或15) 客户端或服务端通过本消息向对方发送元数据和用户数据。元数据包括数据的创建时间、时长、主题等细节。
nginx-rtmp-module搭建流媒体服务器实现直播介绍在现代互联网时代,直播已经成为一种非常受欢迎的媒体传播形式。 为了实现高质量的直播流媒体传输,我们可以使用nginx-rtmp-module来搭建一个流媒体服务器。 在本篇文章中,我们将介绍如何使用nginx-rtmp-module来搭建一个简单的流媒体服务器,并实现直播功能。步骤1. /usr/local/nginx/sbin/nginx3. 流媒体服务器通常会采用缓冲、流控和网络调度等算法,以优化数据传输的效率和质量。结论通过nginx-rtmp-module,我们搭建了一个流媒体服务器,并实现了推流和播放的功能。
今天我们公司也追赶潮流,索性我也转战直播,下面从第一步开始,Mac环境下如何搭建nginx+rtmp服务器。 nginx是非常优秀的开源服务器,用它来做hls或者rtmp流媒体服务器是非常不错的选择。 一、安装Homebrew 打开终端, 查看是否已经安装了Homebrew, 直接终端输入命令。 Paste_Image.png 三、配置nginx和rtmp 配置nginx的rtmp,输入命令 brew info nginx-full ? 是协议名称 server 说明内部中是服务器相关配置 listen 监听的端口号, rtmp协议的默认端口号是1935 application 访问的应用路径是 zbcs live on; 开启实时 未命名.gif 2、桌面+麦克风 ffmpeg -f avfoundation -i "1:0" -vcodec libx264 -preset ultrafast -acodec libmp3lame
nginx转发rtmp流 场景描述:服务器1使用nginx-rtmp-module搭建了基于nginx的rtmp推流平台,用户推rtmp流只能推到服务器2,然后转发到服务器1。 nginx默认只能转发http,转发rtmp需要另外编译转发tcp的模块。要求nginx版本大于1.9。 /configure: error: the HTTP rewrite module requires the PCRE library. (3). 0 libsqlite3-dev sqlite3 autoconf libc6-dev libpcre3-dev libcurl4-nss-dev libxml2-dev libxslt-dev imagemagick libffi-dev 3、配置nginx sudo vim /usr/local/nginx/conf/nginx.conf 项目fhadmin.cn events {
现有的直播服务价格相比按量计费的服务器来说并不贵。 本文讨论最后一种情况,有自己的服务器,希望利用它实现简单的直播推流。 ,可以获得大量的编译安装的说明,不过其实目前来说并不需要在这么麻烦,直接利用 apt 包管理器就可以了,通过 search 找到需要安装的软件包:图片安装 Nginx 和 Nginx-RTMP,为了方便转码 )apt install ffmpeg -y配置在 GitHub 上查看项目配置文件Nginx-RTMP 的配置需写在 nginx.conf 文件中,当前环境下位于 /etc/nginx/nginx.conf 完整配置参考:https://github.com/arut/nginx-rtmp-module/wiki/Directives配置示例视频点播服务rtmp { server { listen