由于业务需求,需要从腾讯直播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兆,建议FQ啊亲!!)

安装完成后,本地的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就能播放了。

终~~~~~~~~~(好多都是借鉴别人的,好紧张啊,会不会被举报呀http://www.cnblogs.com/damiao/p/5231221.html)

 

iOS 直播(一)的更多相关文章

  1. iOS 直播-网速监控

    iOS 直播-网速监控 CXNetworkSpeed.h // // CXNetworkSpeed.h // CXNetworkSpeedDemo // // Created by xubaoaich ...

  2. iOS 直播-实现后台录音并推流

    iOS 直播-实现后台录音并推流 从一个月前开始开始接收公司的直播类app.到今天为止测试都已接近尾声,但是产品哥哥加了一个要求,就是在app进入后台后也实时保证录音并且推流. 刚听到这个的时候我也是 ...

  3. iOS 直播-闪光灯的使用

    iOS 直播-闪光灯的使用 应用场景是这样的,最近公司决定做一款直播类的软件. 在开发中就遇到了不曾使用过的硬件功能-闪光灯. 这篇博客将简单介绍一下闪光灯的使用. // // ViewControl ...

  4. iOS 直播-获取音频(视频)数据

    iOS 直播-获取音频(视频)数据 // // ViewController.m // capture-test // // Created by caoxu on 16/6/3. // Copyri ...

  5. 【如何快速的开发一个完整的iOS直播app】(美颜篇)

    原文转自:袁峥Seemygo    感谢分享.自我学习 前言 在看这篇之前,如果您还不了解直播原理,请查看这篇文章如何快速的开发一个完整的iOS直播app(原理篇) 开发一款直播app,美颜功能是很重 ...

  6. 【如何快速的开发一个完整的iOS直播app】(采集篇)

    原文转自:袁峥Seemygo    感谢分享.自我学习 前言 在看这篇之前,如果您还不了解直播原理,请查看这篇文章如何快速的开发一个完整的iOS直播app(原理篇) 开发一款直播app,首先需要采集主 ...

  7. 【如何快速的开发一个完整的iOS直播app】(播放篇)

    原文转自:袁峥Seemygo    感谢分享.自我学习 前言 在看这篇之前,如果您还不了解直播原理,请查看上篇文章如何快速的开发一个完整的iOS直播app(原理篇) 开发一款直播app,集成ijkpl ...

  8. 【如何快速的开发一个完整的iOS直播app】(原理篇)

    原文转自:袁峥Seemygo    感谢分享.自我学习 目录 [如何快速的开发一个完整的iOS直播app](原理篇) [如何快速的开发一个完整的iOS直播app](播放篇) [如何快速的开发一个完整的 ...

  9. iOS 直播类APP开发流程分解:

    1 . 音视频处理的一般流程: 数据采集→数据编码→数据传输(流媒体服务器) →解码数据→播放显示1.数据采集:摄像机及拾音器收集视频及音频数据,此时得到的为原始数据涉及技术或协议:摄像机:CCD.C ...

  10. iOS直播的技术分析与实现

    HTTP Live Streaming直播(iOS直播)技术分析与实现 发布于:2014-05-28 13:30阅读数:12004 HTTP Live Streaming直播(iOS直播)技术分析与实 ...

随机推荐

  1. mongodb转换List实体(去掉多余的字段) 批量添加

    Gson gson = new Gson(); String str = "list集合json字符串"; JsonObject object = gson.fromJson(st ...

  2. 5.Firedac错误信息

    主要错误信息属性: 1.EFDDBEngineException Errors -- TFDDBError对象集合. ErrorCount --错误的记录数 Kind -- DBMS的错误集合. Me ...

  3. java 枚举类 enum 总结

    枚举定义: enum是计算机编程语言中的一种数据类型.枚举类型:在实际问题中,有些变量的取值被限定在一个有限的范围内.例如,一个星期内只有七天,一年只有十二个月,一个班每周有六门课程等等.如果把这些量 ...

  4. asp.net web api 测试帮助页面建立并测试

    asp.net web api 测试帮助页面建立并测试 现在使用WEB API来开发,越来越流行. 在开发过程中的测试调试,可以使用Fiddler等工具来帮助测试外,还有: 在asp.net 中有种方 ...

  5. Bias and Variance

    以下内容参考 cousera 吴恩达 机器学习课程 1. Bias 和 Variance 的定义 Bias and Variance 对于改进算法具有很大的帮助作用,在bias和Variance的指引 ...

  6. Ubuntu12.04-x64编译Hadoop2.2.0和安装Hadoop2.2.0集群

      本文Blog地址:http://www.cnblogs.com/fesh/p/3766656.html   本文对Hadoop-2.2.0源码进行重新编译(64位操作系统下不重新编译会有版本问题) ...

  7. scala 学习:object 和class, trait

    object: Scala中没有静态修饰符,static,在object下的成员全部都是静态的,如果在类中声明了与该类相同的名字的object则该object是该类的"半生对象", ...

  8. ActiveMQ安装与使用

    一 .安装运行ActiveMQ: 1.下载activemq wget http://archive.apache.org/dist/activemq/apache-activemq/5.9.0/apa ...

  9. Extjs学习笔记--Ext.tree.Panel

    Ext.create('Ext.tree.Panel', { title: 'Simple Tree', width: 200, height: 150, store: store, rootVisi ...

  10. gcc编译时指定链接库的查找目录

    gcc编译时,如果需要链接的库的目录不在标准目录,则需要通过将保护库的目录/aa/bb/cc通过-L/aa/bb/cc 添加到搜索路径中,如: gcc -o xmltest xml_test.cpp ...