iOS:基於RTMP的視頻推流


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

2、如果Mac已經安裝了, 會顯示一些命令的幫助信息. 此時輸入Q退出即可, 直接進入第二步。反之, 如果沒有安裝,執行命令。此處可能需要輸入密碼,修改宿主目錄讀寫權限。

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

3、安裝nginx,先clone nginx項目到本地

brew tap homebrew/nginx

4、執行安裝

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

5、nginx和rtmp模塊就安裝好了,輸入命令

 nginx

6、在瀏覽器里打開http://localhost:8080,查看安裝結果

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

 brew info nginx-full

8、編輯nginx.conf,在http節點后面加上rtmp配置

  #在http節點后面加上rtmp配置
rtmp { server { listen 1935; application rtmplive { live on; record off; } } }

9、查看nginx版本號

 nginx -v

10、替換成自己的nginx版本號,重啟nginx

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

11、安裝ffmpeg,大概50多M,建議翻or牆安裝,本人翻or牆安裝很快成功了。

 brew install ffmpeg     注意:如果需要更新ffmpeg,使用后面這條命令:brew upgrade ffmpeg

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM