由于需要研究rtmp协议交互方式及报数据格式,使用nginx临时搭建一个rtmp服务器,主要通过nginx的rtmp扩展模块实现接收RTMP推送的音视频流,同时提供RTMP拉流服务的能力。
要使用NGINX搭建一个临时的RTMP流媒体服务器,你需要按照以下步骤进行操作:
sudo apt-get update
sudo apt-get install nginx
下载 nginx 以及 RTMP 模块:
cd /usr/src
wget http://nginx.org/download/nginx-1.19.2.tar.gz
tar -xzf nginx-1.19.2.tar.gz
wget https://github.com/arut/nginx-rtmp-module/archive/master.zip
unzip master.zip
进入 nginx 目录,使用下面的命令编译安装此版本的 Nginx。
cd /usr/src/nginx-1.19.2
./configure --with-http_ssl_module --add-module=/usr/src/nginx-rtmp-module-master
make && make install
创建一个新的配置文件 /usr/local/nginx/conf/nginx_rtmp.conf
,将以下内容复制到其中:
worker_processes auto;
events {
worker_connections 1024;
}
rtmp {
server {
listen 1935;
chunk_size 4096;
application live {
live on;
record off;
}
}
}
这将使用 RTMP 模块在 1935 端口上监听所有来自客户端的连接,开始一个名为 “live”的应用程序,该应用程序具有实时传输和录制功能。
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx_rtmp.conf
例如,使用 ffmpeg 将桌面中的视频推送到 RTMP 服务器。可以使用以下命令:
ffmpeg -f x11grab -r 30 -s 800x600 -i :0.0 -vcodec libx264 -preset ultrafast -tune zerolatency -b 900k -maxrate 900k -bufsize 900k -acodec libvo_aacenc -ab 128k -f flv rtmp://localhost/live/stream
以上是一个常用的命令,其中 :0.0
表示桌面的端口地址,-s
参数是输出视频的分辨率,-b
是视频的码率,-ab
是音频的比特率,rtmp://localhost/live/stream
是 RTMP 服务器的地址和推送到的主题名。
例如,使用 VLC 播放器打开以下链接:
rtmp://localhost/live/stream
这将在 VLC 播放器中播放视频流。
/usr/local/nginx/sbin/nginx -s stop
这将停止 Nginx 服务器并关闭 RTMP 模块。
application live {
live on;
record [path];
record_path /var/videos;
record_suffix .flv;
}
其中,[path]
是要在记录中使用的路径和文件名。例如:record /recordings/live-$time.flv
,这将使用当前时间戳作为文件名,将输出文件保存到指定目录下。
record_path
声明了输出目录的位置,record_suffix
定义了输出文件扩展名。
application live {
live on;
exec ffmpeg -i rtmp://localhost/$app/$name -c:v libx264 -preset veryfast -c:a libfdk_aac -f flv rtmp://localhost/hls/$name_hi;
}
以上语句定义了一个名为 “name” 的应用程序,该应用程序具有实时转码功能。转码由 ffmpeg 命令执行。在此示例中,视频被重新编码为 H.264,并使用 AAC 音频编码器。rtmp://localhost/hls/$name_hi
将转码后的视频发送到名为 “name_hi” 的应用程序。
总结:以上就是使用Nginx搭建RTMP流媒体服务器的基本步骤。通过这些操作,可以快速建立一个临时的RTMP流媒体服务器,用于不同的应用场景。
本文向大家介绍asp服务器如何搭建,包括了asp服务器如何搭建的使用技巧和注意事项,需要的朋友参考一下 直接开始搭建asp服务器,大家一起动手操作。 web服务扩展,除了第一二项,其他都允许。 打开Internet信息服务(IIS)管理器 点击默认网站的属性 点击主目录 点击配置——>选项,把启用父路径的勾打上。 点击浏览中,找到以解压的asp网站管理系统路径选上。 点击文档。把启用默认内容文档的
本文向大家介绍Nodejs如何搭建Web服务器,包括了Nodejs如何搭建Web服务器的使用技巧和注意事项,需要的朋友参考一下 使用Nodejs搭建Web服务器是学习Node.js比较全面的入门教程,因为要完成一个简单的Web服务器,你需要学习Nodejs中几个比较重要的模块,比如:http协议模块、文件系统、url解析模块、路径解析模块、以及301重定向问题,下面我们就简单讲一下如何来搭建一个简
服务器端(app.js) var app = require('http').createServer(handler) var io = require('socket.io')(app); var fs = require('fs'); app.listen(80); function handler (req, res) { fs.readFile(__dirname + '/ind
本文向大家介绍Linux Nginx服务器搭建SSL/TLS(https+http/2),包括了Linux Nginx服务器搭建SSL/TLS(https+http/2)的使用技巧和注意事项,需要的朋友参考一下 首先,SSL/TLS是什么? 比如:https://www.awaimai.com/,前面是https,表明这个是https协议。 https就是http + SSL/TLS,在http外
本文向大家介绍Centos7使用docker搭建gitlab服务器,包括了Centos7使用docker搭建gitlab服务器的使用技巧和注意事项,需要的朋友参考一下 了解到docker的优点,搭建快,运行要求资源低,最重要的是实现的功能和效果都能达到预期,于是决定使用docker来搭建gitlab服务器。 效果图如下: 系统环境:CentOS Linux release 7.1.1503 (Co
【关于Nagios】 Nagios是一款用于监控系统和网络的开源应用软件,它的模式是服务器—客户端,也就是说首先要在在一台服务器上(server)部署相应的主要套件,然后在要监控的服务器上部署客户端程序,这样server会和client通信,从而监控client端的各项资源。Nagios功能十分强大几乎所有的项目都可以监控,大到服务器的存活状态,小到服务器上的某一个服务(web)。这些功能都是通过