博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS直播技术学习笔记 iOS中实现推流(八)
阅读量:5100 次
发布时间:2019-06-13

本文共 2053 字,大约阅读时间需要 6 分钟。

推流演示

搭建本地服务器

安装Nginx

  • Nginx介绍
    • Nginx是什么?

* 简言之,Nginx本身是一个非常出色的HTTP服务器,具有占用内存少,高并发的特点。

  • Nginx安装
// 1> 将Nginx Clone到本地$ brew tap homebrew/nginx// 2> 链接要执行的命令$ brew link pcre rtmp-nginx-module// 3> 安装Nginx$ brew install nginx-full --with-rtmp-module复制代码
  • 记住安装配置文件的路径(/usr/local/etc/nginx/nginx.conf)

  • 启动即可:

    • $ nginx
    • 在浏览器输入地址验证:
  • 配置Nginx,支持http协议拉流

location /hls {        #Serve HLS config        types {            application/vnd.apple.mpegurl    m3u8;            video/mp2t ts;        }        root /usr/local/var/www;        add_header Cache-Control    no-cache;    }复制代码
  • 配置Nginx,支持rtmp协议推流
rtmp {    server {        listen 1935;        application rtmplive {            live on;            max_connections 1024;        }        application hls{            live on;            hls on;            hls_path /usr/local/var/www/hls;            hls_fragment 1s;        }    }}复制代码
  • 重启Nginx: nginx -s reload

推流测试

  • 推流至RTMP到服务器
    • 生成地址: rtmp://localhost:1935/rtmplive/demo
ffmpeg -re -i story.mp4 -vcodec libx264 -vprofile baseline -acodec aac -ar 44100 -strict -2 -ac 1 -f flv -s 1280x720 -q 10 rtmp://localhost:1935/rtmplive/demo复制代码
  • 推流至HLS到服务器
    • 生成地址:
ffmpeg -re -i /Users/apple/Desktop/ffmepg/HLS切片/说出你的励志故事.mp4 -vcodec libx264 -vprofile baseline -acodec aac -ar 44100 -strict -2 -ac 1 -f flv -s 1280x720 -q 10 rtmp://localhost:1935/hls/demo复制代码

远程服务器配置

0> 安装git1> git clone srs2> cd sis目录* git checkout 2.0release* git pull3> 配置远程服务器环境* ./configure --disable-all --with-ssl --with-nginx --with-hls --with-http-callback --with-http-server --with-http-api --with-ffmpeg --with-transcode --with-librtmp --with-dvr && make4> 启动配置* ./objcs/srs -c conf/srs.conf* 查看pid: pgrep5> 关闭进程* kill nginx/killall nginx6> 推流可以播放hls/rtmp* 加载自己配置的conf文件srs/trunk/conf复制代码

iOS中实现推流

推流概述

  • 经过前面的讲解&分析, 我们已经可以做到采集-美颜滤镜-视频编码-协议推流
  • 那么下面就需要真正实现iOS中的推流
  • 采用RTMP进行推流, 因为该协议实时性非常的高, 但是将Message封装成Trunk的过程非常麻烦, 所有我们这里直接采用框架实现推流.
  • 常见的推流框架
    • Swift框架: lf.swift
    • OC框架: LFLiveKit

推流框架的使用

  • LFLiveKit是一个集成了视频采集-美颜-编码-推流为一体的框架,并且使用起来非常的简单, 我们可以在iOS中直接使用该框架进行推流
  • 使用方式

转载于:https://juejin.im/post/5a334835f265da431b6d3fb9

你可能感兴趣的文章
设计模式(十一)外观模式(Facade Pattern)
查看>>
JS里charCodeAt()和fromCharCode()方法拓展应用:加密与解密
查看>>
查看SQLServer的QUOTED_IDENTIFIER等配置
查看>>
[转]构建基于WCF Restful Service的服务
查看>>
数据访问
查看>>
php基础知识测试总结
查看>>
Apache Cordova
查看>>
java随笔一(关于定时任务)
查看>>
Codeforces 975D Ghosts 【math】
查看>>
Oracle expdp/impdp导出导入命令及数据库备份
查看>>
HDU 1074 Doing Homework (dp+状态压缩)
查看>>
JavaScript经典代码【二】【javascript判断用户点了鼠标左键还是右键】
查看>>
Cocos2dx使用wxsqlite开源加密SQLite3数据库
查看>>
linux —— shell 编程(编程语法)
查看>>
2011计算机二级c语言考点:二维数组
查看>>
T-SQL:毕业生出门需知系列(六)
查看>>
[C#] 获取计算机内部信息 - ComputerInfoHelper
查看>>
概率算法_二项分布和泊松分布
查看>>
crontab命令使用文档.txt
查看>>
Luogu2986 [USACO10MAR]伟大的奶牛聚集 (树形DP)
查看>>