iOS 直播(一)
由于业务需求,需要从腾讯直播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 直播(一)的更多相关文章
- iOS 直播-网速监控
iOS 直播-网速监控 CXNetworkSpeed.h // // CXNetworkSpeed.h // CXNetworkSpeedDemo // // Created by xubaoaich ...
- iOS 直播-实现后台录音并推流
iOS 直播-实现后台录音并推流 从一个月前开始开始接收公司的直播类app.到今天为止测试都已接近尾声,但是产品哥哥加了一个要求,就是在app进入后台后也实时保证录音并且推流. 刚听到这个的时候我也是 ...
- iOS 直播-闪光灯的使用
iOS 直播-闪光灯的使用 应用场景是这样的,最近公司决定做一款直播类的软件. 在开发中就遇到了不曾使用过的硬件功能-闪光灯. 这篇博客将简单介绍一下闪光灯的使用. // // ViewControl ...
- iOS 直播-获取音频(视频)数据
iOS 直播-获取音频(视频)数据 // // ViewController.m // capture-test // // Created by caoxu on 16/6/3. // Copyri ...
- 【如何快速的开发一个完整的iOS直播app】(美颜篇)
原文转自:袁峥Seemygo 感谢分享.自我学习 前言 在看这篇之前,如果您还不了解直播原理,请查看这篇文章如何快速的开发一个完整的iOS直播app(原理篇) 开发一款直播app,美颜功能是很重 ...
- 【如何快速的开发一个完整的iOS直播app】(采集篇)
原文转自:袁峥Seemygo 感谢分享.自我学习 前言 在看这篇之前,如果您还不了解直播原理,请查看这篇文章如何快速的开发一个完整的iOS直播app(原理篇) 开发一款直播app,首先需要采集主 ...
- 【如何快速的开发一个完整的iOS直播app】(播放篇)
原文转自:袁峥Seemygo 感谢分享.自我学习 前言 在看这篇之前,如果您还不了解直播原理,请查看上篇文章如何快速的开发一个完整的iOS直播app(原理篇) 开发一款直播app,集成ijkpl ...
- 【如何快速的开发一个完整的iOS直播app】(原理篇)
原文转自:袁峥Seemygo 感谢分享.自我学习 目录 [如何快速的开发一个完整的iOS直播app](原理篇) [如何快速的开发一个完整的iOS直播app](播放篇) [如何快速的开发一个完整的 ...
- iOS 直播类APP开发流程分解:
1 . 音视频处理的一般流程: 数据采集→数据编码→数据传输(流媒体服务器) →解码数据→播放显示1.数据采集:摄像机及拾音器收集视频及音频数据,此时得到的为原始数据涉及技术或协议:摄像机:CCD.C ...
- iOS直播的技术分析与实现
HTTP Live Streaming直播(iOS直播)技术分析与实现 发布于:2014-05-28 13:30阅读数:12004 HTTP Live Streaming直播(iOS直播)技术分析与实 ...
随机推荐
- 【转】操作权限不够?教你开启Win7管理员帐户
在Win7中进行一些设置,或修改某些文件时,经常会弹出当前帐户没有操作权限的提示,即使已经是管理员账户也不行.事实上,出于安全方面的考虑,默认情况下Win7系统的系统管理员Administrator账 ...
- Lock锁的使用示例
Lock锁是java5用来代替synchronized的一种面向对象的锁的方案 public class LockDemo { /** * Lock是用来替换synchronized, 优点是Lock ...
- WPF 制作聊天窗口获取历史聊天记录
腾讯从QQ2013版起开始在聊天记录里添加了历史记录查看功能,个人聊天窗口可以点击最上边的‘查看历史消息’,而群组里的未读消息可以通过滚动鼠标中键或者拖动滚动条加载更多消息,那这个用wpf怎么实现呢? ...
- IRelationalOperator空间关系接口简介
几何对象之间都存在某种关联关系,如包含,相等,在内部,相交,叠加等.这些关联关系的获得都可以通过IRelationalOperator接口来获得,关系运算是在两个几何对象间进行的,通过IRelatio ...
- SWFTools参数
CMD: d:\SWFTools>pdf2swf -o c:\2.swf -s flashversion=9 -s languagedir=c:\xpdf\xpdf-cinese-simplif ...
- jqeury 合并单元格
function mergeCells() { var tbodyTlth = $("#datatable_ajax1 tbody").find("tr").l ...
- [2015hdu多校联赛补题]hdu5297 Y sequence
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5297 题意:给你一个所有正整数的序列,然后去掉满足x^(2~r)的所有数(x为所有正整数,r>= ...
- java并发的理解
我认为并发大体上分为两种情况 1,多个线程或者进程访问公共资源,比如12306 2,多个线程访问同一个实例变量,比如tomcat 多个请求的线程访问同一个单例bean,如果bean是有状态的,就可能出 ...
- PTA List Components
For a given undirected graph with N vertices and E edges, please list all the connected components b ...
- 第四十二章 微服务CICD(4)- jenkins + gitlab + webhooks + publish-over-ssh(2)
上一节完成了"当git客户端push代码到gitlab后,jenkins会立即去gitlab拉取代码并构建". 目的:本节完成jenkins自动构建之后,自动的将jar包部署到应用 ...