• iOS简单直播实现(一:创建本地rtmp服务器)


      由于业务需求,需要从腾讯直播sdk要迅速转移到自主开发(先让我默哀三分钟)。不多说,直接开始唠嗑!

      这个项目超级简单,简单到只能一个推流,一个拉流的功能。需求多的再另谈。

      前期准备:推流用优酷开源的LFLiveKit框架。

           拉流(实际上就是一个播放器)用ijkplayer 框架,当然这个也是开源的。

           创建本地rtmp服务器

    创建本地rtmp服务器。(这个地方坑比较多,老夫深陷其中欲罢不能)

    一.打开终端, 查看是否已经安装了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)"

    二.安装 nginx执行命令:(分布执行)

      brew tap homebrew/nginx

      brew install nginx-full --with-rtmp-module

      nginx

    三个命令执行完成后浏览器打开:

      http://localhost:8080

    如果出现 welcome to nginx! .......表示成功

    如果出现端口被占用,则查看端口PID,执行

      lsof -i tcp:8080

    找到自己的端口kill 掉,执行

      kill xxxx(xxxx表示自己的端口)

    重复二

    三.配置nginx和ramp

    1.查看nginx的安装路径,执行命令:

      brew info nginx-full

    2.找到nginx.conf的所在位置,然后进入文件夹,用记事本打开nginx.conf,滚到最后空白处粘贴:

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

    3.查看nginx版本号,执行:

      nginx -v

    4.重启nginx

    /usr/local/Cellar/nginx-full/xxxx/bin/nginx -s reload   (xxxx表示nginx版本号)


    四.安装ffmpeg,执行:

      brew install ffmpeg(这个有50兆,建议翻墙啊亲!!)

    安装完成后,本地的rtmp服务器久已经安装完成了。

    五.测试

    1.在桌面放上一个mp4的文件,例如文件名为:text.mp4

    2.终端执行:ffmpeg -re -i /Users/a123/Desktop/text.mp4 -vcodec libx264 -acodec aac -strict -2 -f flv rtmp://localhost:1935/rtmplive/room
    黄色为这个视频文件的路径,终端会显示你想要的结果(你应该能看得懂)。

    3.如果(我是说如果,你还想从服务器里面读取这个推流上来的视频),那就去下载一个播放器,自行百度。然后打开:rtmp://localhost:1935/rtmplive/room就能播放了。

    终~~~~~~~~~

    -----------------------------分割线-------------------------------------

      新手上路,共同进步群号:240970537

    (参考:http://www.cnblogs.com/damiao/p/5231221.html)

  • 相关阅读:
    如何设置body高度为浏览器高度
    h5的video下载按钮如何隐藏
    微信小程序中的子父组件传值问题
    elementUI级联选择器2(选择及回显)编辑保存
    elementUI级联选择器(选择及回显)
    vue+elementUI 表格操作行的增删改查
    单独验证非form表单中的input(限制)
    JS中去除数组中的假值(0, 空,undefined, null, false)
    vue 组件之间的传值 (父子传值、兄弟传值)
    http协议的状态码
  • 原文地址:https://www.cnblogs.com/fusheng-it/p/5737919.html
Copyright © 2020-2023  润新知