1、安装Nginx
通过homebrew来安装支持rtmp协议模块的nginx
brew install nginx-full --with-rtmp-module
通过下面的命令来查看安装位置
brew info nginx-full
通过浏览器访问http://localhost:8080
在nginx.conf里配置
rtmp {
server {
listen 1935;
application zbcs {
live on;
record off;
}
}
}
重启
nginx -s reload
2、安装ffmpeg来推流本地视频
brew install ffmpeg
推流命令为
ffmpeg -re -i /Users/imac/Documents/demo.mp4 -vcodec copy -f flv rtmp://127.0.0.1:1935/zbcs/room
ffmpeg -re -i 你的视频文件的绝对路径 -vcodec copy -f flv rtmp://localhost:1935/nginx配置的application名称/room
这就开始推流了
3、VLC直播
mac端
下载vlc播放器,在File->open network输入
rtmp://127.0.0.1:1935/zbcs/room
iPhone
下载VLC播放器,同一局域网,打开网络流,输入
rtmp://电脑的本地IP:1935/zbcs/room
4、推流桌面或者摄像头直播
ffmpeg -f avfoundation -list_devices true -i ""
可以看到在视频设备:
0:摄像头
1:桌面捕获
音频设备:
0:麦克风
所以如果要直播摄像头
ffmpeg -f avfoundation -i "0" -vcodec libx264 -f flv rtmp://localhost:1935/zbcs/room
加上声音
ffmpeg -f avfoundation -i "0:0" -vcodec libx264 -acodec libmp3lame -ar 44100 -ac 1 -f flv rtmp://localhost:1935/zbcs/room
还可以设置频率和分辨率
// 设置帧率为30帧,图像大小为320x240
ffmpeg -f avfoundation -framerate 30 -video_size 320x240 -i "0" -vcodec libx264 -f flv rtmp://localhost:1935/zbcs/room
如果要实现电脑屏幕和摄像头一起直播
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