且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

iOS:基于RTMP的视频推流

更新时间:2022-05-31 20:35:50

iOS基于RTMP的视频推流

 

一、基本介绍

iOS直播一出世,立马火热的不行,各种直播平台如雨后春笋,正因为如此,也同样带动了直播的技术快速发展,在IT界精通直播技术的猴子可是很值钱的。直播技术涉及的知识面很广,最主要的大概就是这几个:软硬解码.h264、美颜处理、推流RTMP拉流播放、视频录制、发送弹幕、即时通讯.

 

二、常用技术

  • 软硬解码.h264:使用iOS8.0之后苹果开源的VideoToolBox,这正是很多直播软件最低兼容iOS8的原因了
  • 美颜处理:CPUImage,内置150多种滤镜,功能强大
  • 拉流播放:ijkplayer.framework、VLC
  • 推流RTMP:安装nginx+rtmp服务器,ffmpeg推流
  • 视频录制:UIImagePiackerController、AVCaptureSession、GPUImageVideoCamera
  • 发送弹幕:BarrageRenderer第三方库
  • 即时通讯:XMPP、环信、融云等

 

三、安装nginx+rtmp服务器流程,此处我直接安装成功,如有失败,请查看下面的参考原链接:http://www.jianshu.com/p/8ea016b2720e

1、安装Homebrew,打开终端, 查看是否已经安装了Homebrew, 直接终端输入命令

 man brew

iOS:基于RTMP的视频推流

2、如果Mac已经安装了, 会显示一些命令的帮助信息. 此时输入Q退出即可, 直接进入第二步。反之, 如果没有安装,执行命令。此处可能需要输入密码,修改宿主目录读写权限。

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

iOS:基于RTMP的视频推流

iOS:基于RTMP的视频推流

3、安装nginx,先clone nginx项目到本地

brew tap homebrew/nginx

iOS:基于RTMP的视频推流

4、执行安装

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

iOS:基于RTMP的视频推流

5、nginx和rtmp模块就安装好了,输入命令

 nginx

iOS:基于RTMP的视频推流

6、在浏览器里打开http://localhost:8080,查看安装结果

iOS:基于RTMP的视频推流

7、安装成功后,配置nginx和ramp,找到nginx.conf文件所在位置

 brew info nginx-full

iOS:基于RTMP的视频推流

iOS:基于RTMP的视频推流

8、编辑nginx.conf,在http节点后面加上rtmp配置

iOS:基于RTMP的视频推流
  #在http节点后面加上rtmp配置
rtmp { server { listen 1935; application rtmplive { live on; record off; } } }
iOS:基于RTMP的视频推流

iOS:基于RTMP的视频推流

9、查看nginx版本号

 nginx -v

iOS:基于RTMP的视频推流

10、替换成自己的nginx版本号,重启nginx

 /usr/local/Cellar/nginx-full/1.10.3/bin/nginx -s reload

iOS:基于RTMP的视频推流

11、安装ffmpeg,大概50多M,建议翻or墙安装,本人翻or墙安装很快成功了。

 brew install ffmpeg

iOS:基于RTMP的视频推流

iOS:基于RTMP的视频推流

12、安装一个支持rtmp协议的视频播放器VLC

框架: https://github.com/videolan/vlc
播放器:
VLC

13、ffmpeg推流,准备本地的一个视频文件

  ffmpeg -re -i  /Users/xiayuanquan/Desktop/movie.mp4 -vcodec libx264 -acodec aac -strict -2 -f flv rtmp://localhost:1935/rtmplive/room

14、将视频推流到服务器后,打开VLC,然后File->open network->输入,实现效果请查看下面的参考原地址第二条

 rtmp://localhost:1935/rtmplive/room

 

三、参考原地址

1、VideoToolBox:http://www.jianshu.com/p/a6530fa46a88

2、基于RTMP推流:http://www.jianshu.com/p/8ea016b2720e(该博主Monkey_ALin 简书写的great,受益匪浅,感谢)

3、github下载地址:完整版视频直播:喵播下载地址(该博主Monkey_ALin 简书上的github地址)

4、GPUImage:http://www.cnblogs.com/XYQ-208910/p/5859683.html

5、ffmpeg:http://www.cnblogs.com/XYQ-208910/p/5857239.html

6、ijkplayer:http://www.cnblogs.com/XYQ-208910/p/5856815.html

程序猿神奇的手,每时每刻,这双手都在改变着世界的交互方式!

本文转自当天真遇到现实博客园博客,原文链接:http://www.cnblogs.com/XYQ-208910/p/6688279.html,如需转载请自行联系原作者