Mac上搭建直播服务器

2022-06-07 15:33:59 浏览数 (1)

1、安装Nginx

通过homebrew来安装支持rtmp协议模块的nginx

代码语言:javascript复制
brew install nginx-full --with-rtmp-module

通过下面的命令来查看安装位置

代码语言:javascript复制
brew info nginx-full

通过浏览器访问http://localhost:8080

在nginx.conf里配置

代码语言:javascript复制
rtmp {
    server {
        listen 1935;
        application zbcs {
            live on;
            record off;
        }
    }
}

重启

代码语言:javascript复制
nginx -s reload
2、安装ffmpeg来推流本地视频
代码语言:javascript复制
brew install ffmpeg

推流命令为

代码语言:javascript复制
ffmpeg -re -i /Users/imac/Documents/demo.mp4 -vcodec copy -f flv rtmp://127.0.0.1:1935/zbcs/room
代码语言:javascript复制
ffmpeg -re -i 你的视频文件的绝对路径 -vcodec copy -f flv rtmp://localhost:1935/nginx配置的application名称/room

这就开始推流了

3、VLC直播

mac端

下载vlc播放器,在File->open network输入

代码语言:javascript复制
rtmp://127.0.0.1:1935/zbcs/room

iPhone

下载VLC播放器,同一局域网,打开网络流,输入

代码语言:javascript复制
rtmp://电脑的本地IP:1935/zbcs/room
4、推流桌面或者摄像头直播
代码语言:javascript复制
ffmpeg -f avfoundation -list_devices true -i ""

可以看到在视频设备:

0:摄像头

1:桌面捕获

音频设备:

0:麦克风

所以如果要直播摄像头

代码语言:javascript复制
ffmpeg -f avfoundation -i "0" -vcodec libx264  -f flv rtmp://localhost:1935/zbcs/room

加上声音

代码语言:javascript复制
ffmpeg -f avfoundation -i "0:0" -vcodec libx264  -acodec libmp3lame -ar 44100 -ac 1 -f flv rtmp://localhost:1935/zbcs/room

还可以设置频率和分辨率

代码语言:javascript复制
// 设置帧率为30帧,图像大小为320x240
ffmpeg -f avfoundation -framerate 30 -video_size 320x240 -i "0" -vcodec libx264 -f flv rtmp://localhost:1935/zbcs/room

如果要实现电脑屏幕和摄像头一起直播

代码语言:javascript复制
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/zbcs/room

0 人点赞