视频直播本地测试服务器搭建「建议收藏」

视频直播本地测试服务器搭建「建议收藏」如何搭建局域网推流服务器?一搭建服务器所需    1.nginx    2.nginx–rtmp-module    3.Homebrew

大家好,又见面了,我是你们的朋友全栈君。

如何搭建局域网推流服务器?

一 搭建服务器所需

    1. nginx

    2. nginx–rtmp-module

    3. Homebrew


二 开始安装

    1. 首先需要安装 Homebrew, 打开终端,用以下命令进行安装

1
2
3
4
5
// 
安装命令
ruby -e 
"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
 
// 
卸载命令
ruby -e 
"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

    2.安装nginx 如果执行出错 请在命令最前面  加上 sudo

    首先将nginx项目克隆到本地

1
brew tap homebrew
/nginx

    执行安装nginx

1
brew 
install 
nginx-full --with-rtmp-module

    以上步骤走完,nginx应该装好了,如果没有装好

QQ20160617-0.png

再次执行

1
brew 
install 
nginx-full --with-rtmp-module

三 运行 nginx

    终端输入  nginx 即可运行nginx, 然后打开浏览器,访问 localhost:8080  或者 127.0.0.1:8080 

   如果出现Welcome to nginx!
表示nginx服务器搭建成功了,而且已经安装了RTMP模块了

四 配置nginx

    1. 执行下面命令,查看配置信息

1
 
brew info nginx-full

    输出如下

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
==> Caveats
Docroot is: 
/usr/local/var/www
// 
/usr/local/etc/nginx/nginx
.conf  
// 
配置文件路径
// 
8080 端口
The default port has been 
set 
in 
/usr/local/etc/nginx/nginx
.conf to 8080 so that
nginx can run without 
sudo
.
 
nginx will load all files 
in 
/usr/local/etc/nginx/servers/
.
 
- Tips -
Run port 80:
 

sudo 
chown 
root:wheel 
/usr/local/Cellar/nginx-full/1
.10.0
/bin/nginx
 
// 
/usr/local/Cellar/nginx-full/1
.10.0
/bin/nginx
 
// 
nginx安装的完整路径
 

sudo 
chmod 
u+s 
/usr/local/Cellar/nginx-full/1
.10.0
/bin/nginx
Reload config:
// 
重新加载配置文件
 
$ nginx -s reload
Reopen Logfile:
// 
重新打开 nginx
 
$ nginx -s reopen
Stop process:
// 
停止 nginx
 
$ nginx -s stop
Waiting on 
exit 
process
// 
退出 nginx
 
$ nginx -s quit
 
To have launchd start homebrew
/nginx/nginx-full 
now and restart at login:
  
brew services start homebrew
/nginx/nginx-full
Or, 
if 
you don't want
/need 
a background service you can just run:
  
nginx

2. 使用vim编辑器打开配置文件

1
vi 
/usr/local/etc/nginx/nginx
.conf

滚到最底部,加入如下代码

1
2
3
4
5
6
7
8
9
10
# 在http节点后面加上rtmp配置:
rtmp {
    
server {
        
listen 5920; 
//  
端口 默认的是 1935
        
application rtmplive { 
//  
rtmplive app 名 
            
live on; 
// 
打开直播
            
record off; 
// 
是否录制
        
}
    
}
}

3.从新加载配置文件

1
/usr/local/Cellar/nginx-full/1
.10.0
/bin/nginx 
-s reload

五 安装 ffmpeg

1
brew 
install 
ffmpeg

    ffmpeg推流

1
2
3
4
5
// 
/Users/yuanmc/Desktop/AOA
.mp4 视频文件地址
// 
rtmp:
//localhost
:5920
/rtmplive/room 
推流拉流地址
// 
acc 音频格式
// 
flv 视频格式
ffmpeg -re -i 
/Users/yuanmc/Desktop/AOA
.mp4 -vcodec libx264 -acodec aac -f flv rtmp:
//localhost
:5920
/rtmplive/room

    VLC拉流播放,打开VLC 然后 file->open network->输入:

1
rtmp:
//localhost
:5920
/rtmplive/room

QQ20160617-1.png

已经开始推流啦

使用VLC播放

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/146097.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mysql 字符串类型 分区_MySQL分区类型

    mysql 字符串类型 分区_MySQL分区类型博文大纲:1、RANGE分区2、LIST分区3、HASH分区4、key分区5、MySQL分表和分区的区别6、附加:如何实现将分区放在不同的目录下进行存储MySQL分区类型如下:RANFGE分区LIST分区HASH分区key分区上面的四种分区的条件必须是整形,如果不是整形需要通过函数将其转换为整形。1、RANGE分区RANGE分区是基于属于一个给定连续区间的列值,把多行分配给分区。这些区间要连续且不…

    2022年6月8日
    28
  • java中Scanner类用法的详解[通俗易懂]

    java中Scanner类用法的详解[通俗易懂] 一  java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入。首先要导入包  import java.util.Scanner;Scanner类的创建对象:   Scanner S=newScanner(System.in);   方法基本格式  hasNextXxx()  判断是否还有下一个输入项,其中Xxx可以是Int,…

    2022年7月7日
    20
  • Java重载和重写的区别「建议收藏」

    Java重载和重写的区别「建议收藏」1、方法的重载的概念在同一个类中,允许存在一个以上的同名方法,只要同名的参数个数或者参数类型不同即可。总结:”两同一不同”:同一个类、相同方法名参数列表不同:参数个数不同,参数类型不同2、例构成重载的举例:不能构成重载的举例:3、如何判断是否构成方法的重载?严格按照定义判断:两同一不同跟方法的权限修饰符、返回值类型、形参变量名、方法体都没关系!4、如何确定类中某一个方法的调用:方法名——>参数列表子类继承父类以后,可以对父类中同名同参数的方法,进行覆盖操作重写以后,当创建子类对象以后,通过

    2022年9月9日
    0
  • oracle的union和union all_oracle count函数

    oracle的union和union all_oracle count函数定义了unionvar{uchartempa[4];ulongtemp3;};unionvarlongdat小编们利用C语言定义一个简单的Union共用体结构。你曾经喜欢小编,现在不喜欢了,小编不怪你,那是小编没本事。在这个结构中包含若干个属性,其中有Int、Char和Double型。谁是谁生命中的过客,谁是谁生命的转轮,前世的尘,今世的风,无穷无尽的哀伤的精魂。此时小编们…

    2022年10月26日
    0
  • nextline函数_Java 中nextLine()方法没有执行直接跳过解决办法[通俗易懂]

    nextline函数_Java 中nextLine()方法没有执行直接跳过解决办法[通俗易懂]使用Java的Scanner类nextLne()方法从显示器输入数据时,nextInt()后面的nextLine()直接跳过没有执行;截图:第三个输入直接跳过通过上网的查找我终于发现了问题出在哪里:原来nextLine()函数获取的是一整行的内容其中也包括了(\n)也就是换行符而nextInt()函数获取的仅仅是一个值不包含(\n),那么nextInt()后面的nextLine()读取一行,就把(…

    2022年5月3日
    64
  • ArcGIS二次开发入门(一)「建议收藏」

    ArcGIS二次开发入门(一)「建议收藏」作者:朱金灿来源:http://blog.csdn.net/clever101      公司培训ArcGIS二次开发(C#作为开发语言),自己回家动手实践了一下。 1.首先是二次开发环境的安装,需要装下面两项:

    2022年6月29日
    65

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号