- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章使用Nginx搭建rtmp直播服务器的方法由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
这次我们搭建一个rtmp直播服务器,用于电脑或手机直播推流到服务器,然后其他终端如电脑或手机可以观看直播的视频画面。 我们这里用电脑录屏软件将实时录制的电脑屏幕画面直播给其它人看。总共需要3部分,第一,录屏软件录制电脑屏幕,并传递画面流到服务器; 第二,服务器rtmp搭建,应能接收来自录屏软件上传的画面;第三,视频播放器客户端能连接到rtmp服务器,接收rtmp服务器推送的视频流,从而可实时观看第一部分录屏软件的实时画面。这里最核心的就是第二部分,搭建rtmp服务器.
nginx是一个服务器软件,类似于tomcat,用于发布服务器程序 。
(1)下载地址:在linux下执行 wget http://nginx.org/download/nginx-1.15.3.tar.gz命令,下载压缩包.
(2)解压,使用tar命令: tar xvf nginx-1.15.3.tar.gz 。
wget https://codeload.github.com/arut/nginx-rtmp-module/tar.gz/v1.2.1 同样解压tar xvf v1.2.1 。
./configure --prefix=./bin --add-module=../nginx-rtmp-module-1.2.1 。
cd nginx-rtmp-module-1.2.1打开文件夹,cd test文件夹,修改nginx.conf文件的内容为:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
worker_processes 1;
error_log logs/error.log debug;
events {
worker_connections 1024;
}
rtmp {
server {
listen 1935;
application myapp {
live on;
#record keyframes;
#record_path /tmp;
#record_max_size 128K;
#record_interval 30s;
#record_suffix .this.is.flv;
#on_publish http://localhost:8080/publish;
#on_play http://localhost:8080/play;
#on_record_done http://localhost:8080/record_done;
}
}
}
http {
server {
listen 8080;
location /stat {
rtmp_stat all;
rtmp_stat_stylesheet stat.xsl;
}
location /stat.xsl {
root /path/to/nginx-rtmp-module/;
}
location /control {
rtmp_control all;
}
#location /publish {
# return 201;
#}
#location /play {
# return 202;
#}
#location /record_done {
# return 203;
#}
location /rtmp-publisher {
root /path/to/nginx-rtmp-module/test;
}
location / {
root /path/to/nginx-rtmp-module/test/www;
}
}
}
|
到时候推流地址就是 rtmp://IP:PORT/myapp/{abc},其中{abc}中的abc是可选的,一般是一个推流密码,往服务器推送或接收视频流时,可填写一个密码,如abc。rtmp默认服务器端口是1935,如果这个端口被占用,可以杀死占用这个端口的进程,使用如下命令:
kill -9 pid (其中pid是进程id).
然后用这个conf 替换 nginx-1.15.3/bin/conf下的nginx.conf , 。
使用mv nginx.conf nginx.conf.bak命令重命名原来的nginx.conf,可以不用删除原文件.
cd nginx-1.15.3 。
打开nginx文件夹 。
/root/nginx-1.15.3/bin/sbin/nginx 。
启动nginx 。
启动后,从浏览器里访问122.112.220.253:8080.
如果打不开, 1. 在服务器上建立安全规则,开发入口规则,把1935,8080这两个端口开启,协议是TCP. 2. nginx-1.15.3/bin/conf下的nginx.conf里最顶部 修改用户: user root,
此时,nginx.conf的内容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
user root;
worker_processes 1;
error_log logs/error.log debug;
events {
worker_connections 1024;
}
rtmp {
server {
listen 1935;
application myapp {
live on;
drop_idle_publisher 5s;
}
}
}
http {
server {
listen 8082;
location /stat {
rtmp_stat all;
rtmp_stat_stylesheet stat.xsl;
}
location /stat.xsl {
root /root/nginx-rtmp-module-1.2.1/;
}
location /control {
rtmp_control all;
}
location /rtmp-publisher {
root /root/nginx-rtmp-module-1.2.1/test;
}
location / {
root /root/nginx-rtmp-module-1.2.1/test/www;
}
}
}
|
3. 重启nginx,再次访问122.112.220.253:8082,成功.
下次我们就用一个录屏软件录制电脑屏幕,使用rtmp协议向服务器上推送电脑屏幕画面,同时用播放器来播放服务器上的rtmp直播流.
到此这篇关于使用Nginx搭载rtmp直播服务器的文章就介绍到这了,更多相关rtmp直播服务器内容请搜索我以前的文章或继续浏览下面的相关文章希望大家以后多多支持我! 。
原文链接:https://blog.csdn.net/gaoxiaoweiandy/article/details/120685531 。
最后此篇关于使用Nginx搭建rtmp直播服务器的方法的文章就讲到这里了,如果你想了解更多关于使用Nginx搭建rtmp直播服务器的方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我需要从 RTMP 流中裁剪视频并将其发送到另一个总是变化的 RTMP 服务器。我的理解是我应该使用 nginx-proxy和 ffmpeg ,谁能帮我设置一下? 我想我需要将流发送到像 /strea
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 6年前关闭。 Improve this qu
如何在gstreamer中混合两个rtmp流? Src: nginx-rtmp 摄像头 - h.264/speex接收器:nginx-rtmp GStreamer 0.10 或 1.0 ------
我正在尝试组合/合并两个 rtmp 流,然后将它们发布到另一个流 例如: ffmpeg -i rtmp://ip:1935/live/micMyStream7 -i rtmp://ip:1935/li
有什么方法可以拒绝用户在其他网站上播放我的流吗?我正在运行带 rtmp 模块的 nginx,ubuntu 13。这是我的 nginx.conf rtmp { server {
已关闭。这个问题是 not about programming or software development 。目前不接受答案。 这个问题似乎不是关于 a specific programming
我正在开发一个使用 SoundManager2 的网络应用程序。在我的头撞到墙上并且没有让我的音乐流式传输之后,我终于在创建新的 SoundManager 声音时切换了一些 URL。 这是我之前使用的
谁能指导我做上面提到的? 基本上我想要的: 将单个视频文件流式传输到 RTMP 服务器(在我的情况下为 nginx)到链接的 python 脚本: rtmp:///stream/ 因此,理想情况下,视
我正在开发一个需要通过 rtmp 协议(protocol)进行实时广播流的 iphone 应用程序。我一直在努力寻找解决方案。我所知道的是我应该能够使用 rtmp-dump。但我是iphone dev
我正在尝试将传入的 rtmp 流保存在我的服务器上作为 mp4 文件。我正在使用 nginx-rtmp模块并从 flv 更改容器至mp4在 exec_record_done指示。这是使用 ffmpeg
这是我尝试运行的脚本,我相信问题出在这里: #!/bin/bash GIF=/home/stream1/85012216.gif STREAM_KEY=thisisasecret URL=rtmp:/
输出视频: https://youtu.be/VxfoBQjoY6E 解释: 我想:在 Opencv 中处理摄像头流并将其推送到 RTMP 服务器。我已经设置了 NGINX(RTMP 模块),并且已经
我正在尝试遵循本指南 - http://www.helping-squad.com/nginx-rtmp-compile-for-windows/ 为 Windows 编译 nginx rtmp,但是
我是这个论坛的新手,我的英语水平不是最好的! 我有一个网站,在那里我发布了摄像机的视频流,以显示在嵌套时间现场发生的事情!一个具有高 IT 技能的人为我构建了一个小服务器用于重新流 (Datarhei
我有一个闪存媒体服务器。我想在 Android 设备中创建一个实时视频聊天应用程序。 我目前正在使用 RTMP 方法来保护我的应用程序,但我不确定 RTMP 是否是保护我的应用程序的正确安全机制?你能
文件结束时如何保持流连接处于事件状态? 我正在使用 ffmpeg 4 我尝试了超时选项,但它不起作用,所以我的例子是: ffmpeg -i input.webm -timeout -f flv rtm
我有一台服务器,目前正在流出 RTMP 媒体,我需要以最小延迟(2-3 秒)播放它。 现在我正在使用 CRTMPServer 来使用流,但是由于没有不依赖 Flash 的 RTMP 播放器,因此该解决
我正在寻找一种解决方案,使用浏览器(Javascript)将笔记本电脑摄像头的数据发送到 rtmp 服务器(如 facebook live 或 youtube)。我做了研究,但没有运气。我得到了什么:
[已解决] -- 最终编辑中的解决方案 我正在使用 ffmpeg 录制 rtmp 直播,并希望添加一个标志,该标志将在新数据停止到达时自动停止处理。 如果我启动和停止脚本(通过按需终止进程来停止),一
我正在尝试从 ubuntu 启动实时(非点播)RTMP 流,但我仅使用 RTSP 成功通过 VLC 流式传输 vlc -vvv ./videos/test.mp4 --sout '#rtp{dst=1
我是一名优秀的程序员,十分优秀!