当前位置: 首页 > Web前端 > HTML5

MacOS安装Nginx+ffmpeg(rtmp直播服务器搭建)

时间:2023-04-05 14:41:15 HTML5

参考来源:https://github.com/denji/home...相关文章:H5视频直播原理1.安装nginx+rtmp1。安装Homebrew:需要先在应用商店手动安装Xcode,然后执行以下操作ruby??-e"$(curl-fsSLhttps://raw.githubusercontent.com/Homebrew/install/master/install)》安装过程中会提示安装xcode命令行工具,但是在最新的Mac场景下安装Xcode时是没有CommandLine的,需要单独安装。根据提示,使用命令xcode-select--install安装时,最后的结果是无法安装软件。解决方法是登录https://developer.apple.com/d...然后下载dmg安装2.执行命令:brewtapdenji/nginx3.执行命令:brewinstallnginx-full--with-rtmp-module查看nginx安装信息:brewinfonginx-full可以看到如下信息:Docroot是:/usr/local/var/www默认端口已经设置在/usr/local/etc/nginx/nginx.conf到8080以便nginx可以在没有sudo的情况下运行。nginx将加载/usr/local/etc/nginx/servers/中的所有文件。-提示-运行端口80:$sudochownroot:wheel/usr/local/Cellar/nginx-full/1.15.6/bin/nginx$sudochmodu+s/usr/local/Cellar/nginx-full/1.15.6/bin/nginxReload配置:$nginx-sreloadReopen日志文件:$nginx-sreopenStop进程:$nginx-sstopWaitingonexitprocess$nginx-squitnginx安装位置:/usr/local/Cellar/nginx-full/nginx配置文件位置:/usr/local/etc/nginx/nginx.confnginx服务器根目录位置:/usr/local/var/www验证安装成功,执行命令:nginx在浏览器中输入http://localhost:8080,出现如下界面,证明安装成功。zeranoe.com/bu...安装过程需要一段时间。2.验证是否安装成功,执行命令:ffmpeg显示信息如下:ffmpegversion4.1Copyright(c)2000-2018theFFmpegdevelopersbuiltwithAppleLLVMversion10.0.0(clang-1000.11.45.5)configuration:--prefix=/usr/local/Cellar/ffmpeg/4.1--enable-shared--enable-pthreads--enable-version3--enable-hardcoded-tables--enable-avresample--cc=clang--host-cflags=--host-ldflags=--enable-ffplay--enable-gpl--enable-libmp3lame--enable-libopus--enable-libsnappy--enable-libtheora--enable-libvorbis--enable-libvpx--enable-libx264--enable-libx265--enable-libxvid--enable-lzma--enable-opencl--enable-videotoolboxlibavutil56.22.100/56.22.100libavcodec58.35.100/58.35.100libavformat58.20.100/58.20.100libavdevice58.5.100/58.5.100libavfilter7.40.101/7.40.101libavresample4.0.0/4.0.0libswscale5.3.100/5.3.100libswresample3.3.100/3.3.100libpostproc55.3.1003.55.3.1003.55.快速地音视频编码器使用:ffmpeg[options][[infileoptions]-iinfile]...{[outfileoptions]outfile}...3.配置nginx用IDE打开nginx.conf文件,文件路径:/usr/local/etc/nginx/如果你有atom编辑器,可以执行如下命令打开:opennginx.conf-aatom编辑内容:1.在http节点后添加rtmp,配置http{...}#在http节点后添加rtmpConfigurertmp{server{#监听端口listen1935;#块大小chunk_size4000;#RTMP直播流配置applicationrtmplive{#开启直播模式liveon;#设置最大连接数max_connections1024;}#hls直播流配置应用程序hls{liveon;开着;#分割文件存放位置hls_path/usr/local/var/www/hls;#hls片段大小hls_fragment5s;}}}2.在http节点的server节点添加配置项:http{...server{...location/{roothtml;indexindex.htmlindex.htm;}location/hls{#响应类型{application/vnd.apple.mpegurlm3u8;视频/mp2tts;}根目录/usr/local/var/www;#不缓存add_headerCache-Controlno-cache;}...}...}至此安装配置工作已经完成,接下来进行下一步4.测试1.重启nginx服务,执行命令:先关闭nginxnginx-sstop再打开:nginx或直接执行reload:nginx-sreload2。推流准备一个视频文件(比如mp4文件)来测试推流,在视频文件所在目录下执行以下命令模拟rtmp推流:ffmpeg-re-itest.mp4-vcodeclibx264-acodecaac-fflvrtmp://localhost:1935/rtmplive/rtmpMac下可以安装一个支持rtmp协议的视频播放器可以使用VLC播放器,在VLC的“文件”中输入“rtmp://localhost:1935/rtmplive/rtmp”--OpenNetwork--URL”,然后点击打开选项进行播放。如果你想推hls,只需要将上面的命令稍微修改一下:ffmpeg-re-itest.mp4-vcodeclibx264-acodecaac-fflvrtmp://localhost:1935/hls/stream其中最后一个stream是自己的名字,随便写,放在sarafi中在浏览器中输入http://localhost:8080/hls/stream.m3u8就可以正常播放直播了。也可以用VLC播放器输入“rtmp://localhost:1935/hls/stream”来播放第二种方法集成服务代码https://github.com/HughieSong...包含一个二进制文件名为“服务器”。输入以下命令启动:打开服务器,你会看到SungdeMacBook-Pro:~admin$/Users/admin/Downloads/project/github/h5live/server/server;退出;2018/12/0814:58:37main.go:106:启动livego,版本0.0.42018/12/0814:58:37main.go:40:HLS监听:70022018/12/0814:58:37main.go:58:RTMPListenOn:19352018/12/0814:58:37main.go:75:HTTP-FLVlistenOn:7001这意味着该服务已启用。这个时候,为了避免以后出现问题,我们先运行如下命令停止nginx服务:nginx-sstop重启服务器:打开服务器,看到如下:SungdeMacBook-Pro:~admin$/Users/admin/下载/项目/github/h5live/服务器/服务器;exit;2018/12/0815:22:51main.go:106:启动livego,version0.0.42018/12/0815:22:51main.go:30:listentcp:7002:bind:addressalready在使用logoutSavingsession......copyingsharedhistory......savinghistory...truncatinghistoryfiles...completed.Deletingexpiredsession...96completed.[进程已经完成]然后执行h5live目录下的streaming命令:ffmpeg-re-itest.mp4-ccopy-fflvrtmp://localhost:1935/live/movie进程正在运行,打开VLC播放器-->File-->Open网络-->网址输入rtmp://localhost:1935/live/movie-->打开播放或在sarafi浏览器输入http://127.0.0.1:7002/live/movie.m3u8或http://localhost:7002/live/movie.m3u8验证