背景:
由於經常接觸實時視頻, 對實時視頻略有了解. 實時視頻是將視頻流實時上傳到服務器端進行解析, 由RTMP服務器處理.
RTMP 服務器
自己動手搭建一個rtmp, 本文在 Linux環境中搭建
去git上clone 一個下來https://github.com/arut/nginx-rtmp-module
如何安裝本文不做過多篇幅介紹.
修改../nginx-rtmp-module/test下配置文件nginx.conf, 官網這樣的結構, 我們這里就不做改動
作用是指定端口號和文件目錄
作用是使瀏覽器可以訪問,便於我們調試視頻
詳細配置參見:
https://github.com/sergey-dryabzhinsky/nginx-rtmp-module/blob/dev/test/nginx.conf
參考文檔:
https://denji.github.io/homebrew-nginx/
配置完成后檢查是否正確:
[nginx-rtmp-module]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
配置文件修改完成后建議重啟server
nginx:nginx -s reload
檢查RTMP是否生效
瀏覽器中輸入:http://+服務器ip+端口+stat
瀏覽器中出現下圖,則表示rtmp服務生效了
推流
推流需要借助ffmpeg
linux下FFmpeg下有2個壓縮包
https://ffmpeg.org/releases/ffmpeg-4.0.2.tar.bz2
http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
推流服務器地址格式如下:
rtmp://+ip+":"端口+/live/+"其他" //其他是我們任意起的名字
例如:rtmp://10.10.10.10:8001/live/selftest
輸入下面命令向服務器推流:
ffmpeg -re -i +視頻路徑 -c copy -f flv +推流服務器地址
其他還有視頻剪切, 碼率控制, 視頻編碼格式轉換等 ffmpeg都能應付自如.
比如一個視頻的編碼是MPEG4,想用H264編碼,咋辦?
ffmpeg -i input.mp4 -vcodec h264 output.mp4
VLC收看流
使用播放工具VLC 播放工具
rtmp://10.10.10.10:8001/live/selftest
將地址rtmp://10.10.10.10:8001/live/selftest 即可查看留情況
原文: https://mp.weixin.qq.com/s/W4bbdHEcAbe5JQOIFWv54g
今日推薦閱讀文章精選推薦
咨詢工作加微信
掃描二維碼
歡迎自薦和推薦, 需要的微信推送簡歷!
請猛戳下面二維碼了解更多