记"集成IOS基于RTMP的视频推流"

一、在MAC上搭建nginx+rtmp服务器

    1. 安装Homebrew
    • 先打开终端查看是否已安装Homebrew,若安装,则直接输入man brew,若未安装,则执行
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  • 若安装后想卸载,则执行
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
    1. 安装nginx
    • clone nginx到本地brew tap homebrew/nginx
    • 再执行brew install nginx-full --with-rtmp-module
    • 最后nginx,在浏览器中打开http://localhost:9180(因为我的8080端口已被占用),若成功,则会出现
      Snip20190115_2.png
  • 若提示下图,则表示端口号已被占用


    Snip20190115_4.png
  • 那么可以执行vim /usr/local/etc/nginx/nginx.conf,点击键盘i,更改红色箭头所指向的地方,改为9180(可自定义),点击esc按钮:wq保存退出
    Snip20190115_6.png
  • 执行sudo nginx -s reload重启便可

    1. 配置nginx和ramp
    • 先查看nginx的安装位置brew info nginx-full
      Snip20190115_8.png
  • vim /usr/local/etc/nginx/nginx.conf,滚动到最后一行,在最后一个}后添加
# 在http节点后面加上rtmp配置
  rtmp {
      server {
         listen 1935;
         application rtmplive {
            live on;
            record off;
         }
     }
 }
  • 保存退出后重启nginx(其中的1.15.8要换成你自己安装的nginx版本号, 查看版本号用nginx -v命令即可)
    /usr/local/Cellar/nginx-full/1.10.1/bin/nginx -s reload

  • 若报错nginx: [emerg] unknown directive “rtmp” in /usr/local/etc/nginx/nginx.conf:119,最简单的方式便是先卸载brew uninstall nginx,再重新安装brew install nginx-full --with-rtmp-module

    1. 安装配置FFmpeg
    • 执行brew install ffmpeg,安装等待过程有些长,可在等待过程中先安装一个支持rtmp协议的视频播放器VLC
    1. 使用FFmpeg推流
    • 执行ffmpeg -re -i /Users/dordly/Desktop/phoneVideo.mp4 -vcodec libx264 -acodec aac -strict -2 -f flv rtmp://localhost:1935/rtmplive/room,成功显示下图

      Snip20190115_9.png

    • 将视频推流到服务器后,打开VLC,然后File->open network->输入:rtmp://localhost:1935/rtmplive/room,然后点击播放的同时,在终端输入ffmpeg -re -i /Users/dordly/Desktop/phoneVideo.mp4 -vcodec libx264 -acodec aac -strict -2 -f flv rtmp://localhost:1935/rtmplive/room,便可看见视频播放

你可能感兴趣的:(记"集成IOS基于RTMP的视频推流")