搭建本地服务器
安装 Nginx
Nginx介绍是什么?Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由lgor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发布于2004年10月,因她的稳定性,丰富的功能集,示例配置文件和低系统资源的消耗而闻名,占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网络服务器中表现较好。
Nginx安装
//1.将Nginx Clone到本地
$ brew tap home-brew/nginx
//2>链接要执行的命令
$brew link pure ramp-nginx-module
$ brew install nginx-full --with-rtmp-module
记住安装配置文件的路径(/usr/local/etc/nginx/nginx.conf)
启动即可:
$ nginx 在浏览器输入地址验证:http://localhost:8080
配置Nginx,支持http协议拉流
配置Nginx,支持ramp协议推流
重启Nginx:nginx -s reload
推流测试
推流至RTMP到服务器
生成地址:rtmp://localhost:1935/rtmplive/demo
ffmpeg -re -i story.mp4 -vcodec libx264 -vprofile baseline -acodec aac -ar44100-strict-2-ac1-f flv -s1280x720 -q10rtmp://localhost:1935/rtmplive/demo
推流至HLS到服务器
生成地址:http://localhost:8080/hls/test.m3u8
ffmpeg -re -i /Users/apple/Desktop/ffmepg/HLS切片/说出你的励志故事.mp4 -vcodec libx264 -vprofile baseline -acodec aac -ar44100-strict-2-ac1-f flv -s1280x720 -q10rtmp://localhost:1935/hls/demo
远程服务器配置
iOS 中实现推流
推流概述
经过前面的讲解&分析,我们已经可以做到采集-美颜滤镜-视频编码-协议推流
那么下面就需要真正实现iOS中的推流
采用RTMP进行推流,因为该协议实时性非常的高,但是将Message封装成Trunk的过程非常麻烦,所有我们这里直接采用框架实现推流
常见的推流框架
Swift框架:If.swift OC 框架:LFLiveKit
推流框架的使用
LFLiveKit是一个集成了视频采集-美颜-编码-推流为一体的框架,并且使用起来非常的简单,我们可以在iOS中直接使用该框架进行推流