网络编程

当前位置:永利402游戏网站-永利402com官方网站 > 网络编程 > 在Mac上自己搭建直播服务器

在Mac上自己搭建直播服务器

来源:http://www.xtcsyb.com 作者:永利402游戏网站-永利402com官方网站 时间:2019-09-17 08:12

怎么要在Mac上设置nginx,是因为在nginx上有协助rtmp合计的模块,比较易于达成rtmp左券。其余其服务一旦能落到实处rtmp公约都足以,但出于nginx落成起来方便所以那边运用nginx来做直播的服务。

前言
明年运动直播行当的起来,相当多公司都在做直播,转眼间过了大概年了,直播的各样本事相对成熟了四起。今天我们同盟社也超过洋气,索性本人也转战直播,下边从第一步初阶,Mac情况下怎么样搭建nginx+rtmp服务器。
nginx是老安顺想的开源服务器,用它来做hls也许rtmp流媒体服务器是那个科学的选项。

我们用brew命令来设置nginx,请先确认保障您的Mac上业已安装了homebrew,若无设置能够访谈homebrew的官方网站 下载安装,也能够在极限中运作以下命令安装:

一、安装Homebrew
开采终端, 查看是还是不是业已设置了Homebrew, 直接终端输入指令。借使对Homebrew不熟悉,能够移动这里

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
man brew

设置完homebrew后在终极中运作以下命令安装nginx。

永利402游戏网站 1

// 将nginx下载到本地 brew tap homebrew/nginx

// 安装nginx服务器 brew install nginx-full --with-rtmp-module

// 开启服务器 nginx

// 用vim打开配置文件vim /usr/local/etc/nginx/nginx.conf

rtmp { server { listen 1935; // 设置对应的端口 application mylive { live on; record off; // 不记录数据 } } }

// 添加完信息要重新加载文件才能用nginx -s reload

Paste_Image.png

实际通过上述步骤直播服务一度搭建好了,我们以下的操作都以验证大家的成果的,大家要设置多个FFmpeg的第三方库用来贯彻推流。

基于上海体育场地所示,即便Mac景况下安装了Homebrew,则会议及展览示一些发令的帮带消息,此时输入Q退出就能够, 直接进去第二步。反之, 若无安装,推行命令。

// 安装ffmpeg brew install ffmpeg

ffmpeg -re -i /Users/liuxiaoliang/Desktop/720.m4v -vcodec libx264 -acodec aac -strict -2 -f flv rtmp://localhost:1935/mylive/room
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

永利402游戏网站,也能够将中间的参数简写

卸载,输入指令

ffmpeg -re -i /Users/liuxiaoliang/Desktop/720.m4v -c:v libx264 -c:a aac -strict -2 -f flv rtmp://localhost:1935/mylive/room
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

地方的命令/Users/liuxiaoliang/Desktop/720.m4v是您录像文件的不二诀窍,请依据自个儿录制文件的职位变动。最后跟的rtmp://localhost:1933/mylive/room是自家的推流的地点。未来运维命令后一旦出现如下图推流的数额包新闻就认证推流成功了。

二、安装nginx
先把nginx下载到本地

永利402游戏网站 2Computer截屏

brew tap homebrew/nginx

为了便于测验大家使用vlc播放器来实现拉流,Mac端能够在vlc的官方网站下载Mac端的播放器,对于iOS端能够在iOS手提式有线电话机的AppStore上下载vlc播放器。以手机为例,在二弟大的vlc播放器的网络串流内输入拉流的地址,其实和地点推流是同二个地点只是此处要把localhost替换来MacComputer上的ip地址(在Mac上完毕拉流可不要替换),并保证Mac计算机与手提式有线电话机在同一个局域网内。

实践安装

// 在vlc播放器中输入以下地址就可看到拉流视频,如果在手机上记录把localhost替换成Mac上的ip地址,rtmp://localhost:1935/mylive/room
brew install nginx-full --with-rtmp-module

永利402游戏网站 3荧屏截屏永利402游戏网站 4显示器截屏永利402游戏网站 5显示屏截屏

永利402游戏网站 6

小编们还能将Computer桌面包车型大巴图像推流传出去。可是首先大家得先拿走Computer上的输入硬件消息,在极限施行以下命令获取硬件音讯,以鲜明用哪些硬件作为录像图像的输入。

Paste_Image.png

// 获取Mac上的输入设备的列表ffmpeg -f avfoundation -list_devices true -i ""

此刻, nginx和rtmp就设置好了,输入指令,检查实验是还是不是安装成功

永利402游戏网站 7Mac计算机可输入设备新闻.png

nginx

咱俩看到Computer显示屏的序号是1,所以我们推行以下命令。

在浏览器里张开http://localhost:8080要是出现下图, 则代表安装成功

// 向服务器电脑桌面的图像信息ffmpeg -f avfoundation -i "1" -vcodec libx264 -f flv rtmp://localhost:1935/mylive/room

永利402游戏网站 8

地点的格局独有图像尚未声音,想要声音可用以下命令

Paste_Image.png

ffmpeg -f avfoundation -i "1:0" -vcodec libx264 -acodec libmp3lame -ar 44100 -ac 1 -f flv rtmp://localhost:1935/rtmplive/room

三、配置nginx和rtmp
配置nginx的rtmp,输入指令

永利402游戏网站 9Computer截屏

brew info nginx-full

总认为前面不像一个完好无缺的直播是吗?因为没有应用录像头,上边大家就用计算机的录像头获取图像然后开展推流。可以用以下命令

永利402游戏网站 10

// 设置帧率为30帧,图像大小为320x240ffmpeg -f avfoundation -framerate 30 -video_size 320x240 -i "0" -vcodec libx264 -f flv rtmp://localhost:1935/mylive/room

Paste_Image.png

上边的下令是绝非动静的,下边是增多声音的指令

透过上海图书馆可以看来,nginx.conf文件在:

ffmpeg -f avfoundation -framerate 30 -video_size 320x240 -i "0:0" -vcodec libx264 -acodec libmp3lame -ar 44100 -ac 1 -f flv rtmp://localhost:1935/mylive/room
/usr/local/etc/nginx/nginx.conf

永利402游戏网站 11荧屏截屏

nginx完整路线:

偶尔大家直播计算机桌面包车型大巴时候还要有摄像头,能够用以下命令

/usr/local/Cellar/nginx-full/1.10.1/bin/nginx
// 实现电脑桌面和摄像头同时直播ffmpeg -f avfoundation -framerate 30 -i "1:0" -f avfoundation -framerate 30 -video_size 320x240 -i "0" -vcodec libx264 -filter_complex 'overlay=main_w-overlay_w-10:main_h-overlay_h-10' -acodec libmp3lame -ar 44100 -ac 1 -f flv rtmp://localhost:1935/mylive/room

由此vim或然点击Finder
->前往
->前往文件夹
->输入/usr/local/etc/nginx/nginx.conf
->用Atom展开nginx.conf配置文件来计划

永利402游戏网站 12显示屏截屏

永利402游戏网站 13

Paste_Image.png

间接滚动到结尾一行,以正是在http {} 之后:

# 在http节点后面加上rtmp配置:
rtmp {    
    server {        
        listen 2016;        
        application rtmplive {            
            live on;            
            record off;        
        }    
    }
}

说明:
rtmp是协商名称
server 表达内部中是服务器相关安顿
listen 监听的端口号, rtmp协商的暗中认可端口号是一九三一
application 访谈的选用路线是 zbcs
live on; 开启实时
record off; 不记录数据

保留文件后,重新加载nginx的安排文件这一步比较重大

nginx -s reload

重启nginx:

sudo /usr/local/Cellar/nginx-full/1.10.0/bin/nginx -s reload

推行命令的时候, 报极度

永利402游戏网站 14

Paste_Image.png

永利402游戏网站 15

Paste_Image.png

大概意思正是布局nginx.conf的时候,在123行犯了二个傻乎乎的一无所能,手动输入application rtmplive的时候,应该有个空格。
重启nginx:

sudo /usr/local/Cellar/nginx-full/1.10.0/bin/nginx -s reload

永利402游戏网站 16

Paste_Image.png

四、安装ffmpeg
对于ffmpeg不了解的,能够移动这里
输入以下命令来安装ffmpeg:

brew install ffmpeg

安装ffmpeg时间将要长一些了
设置三个支撑rtmp和谐的录制播放器,Mac下能够用VLC

五、验证录制
第一自个儿打算三个摄像文件, 也得以用自家github项目中的录像文件,试行命令

ffmpeg -re -i /Users/sunjinshuai/Desktop/keep.mp4 -vcodec libx264 -acodec aac -f flv rtmp://localhost:2016/rtmplive/room

永利402游戏网站 17

Paste_Image.png

下一场计算机上开荒vlc那些播放器软件 点击File---->Open Network 在弹出来的框中采纳Network然后输入U凯雷德L:
rtmp://localhost:1935/zbcs/room

永利402游戏网站 18

Paste_Image.png

右击play,ffmepg 安装到位后方可开首推流了。

ps:

  • 录制文件地址:/Users/sunjinshuai/Desktop/keep.mp5
  • 推流拉流地址:rtmp://localhost:2016/rtmplive/room
  • acc:RTMP的音频格式
  • flv: RTMP的摄像格式

六、报错管理
1、ffmepg命令推流的时候,提醒连接战败。

永利402游戏网站 19

Paste_Image.png

现身这些错,是因为布署了nginx.conf后,必要重启nginx。输入指令重启后就从未有过难点了

nginx -s reload

七、FFmpeg常用推流命令
1、桌面摄像恐怕分享

ffmpeg -f avfoundation -i "1" -vcodec libx264 -preset ultrafast -acodec libfaac -f flv rtmp://localhost:2016/rtmplive/room

永利402游戏网站 20

未命名.gif

2、桌面+麦克风

ffmpeg -f avfoundation -i "1:0" -vcodec libx264 -preset ultrafast -acodec libmp3lame -ar 44100 -ac 1 -f flv rtmp://localhost:2016/rtmplive/room

永利402游戏网站 21

未命名.gif

3、桌面+Mike风,何况还要摄像头拍戏到本人

ffmpeg -f avfoundation -framerate 30 -i "1:0" -f avfoundation -framerate 30 -video_size 640x480 -i "0" -c:v libx264 -preset ultrafast -filter_complex 'overlay=main_w-overlay_w-10:main_h-overlay_h-10' -acodec libmp3lame -ar 44100 -ac 1 -f flv rtmp://localhost:2016/rtmplive/room

永利402游戏网站 22

未命名.gif

本文由永利402游戏网站-永利402com官方网站发布于网络编程,转载请注明出处:在Mac上自己搭建直播服务器

关键词: