實時視訊rtmp
背景:
由于經常接觸實時視訊, 對實時視訊略有了解. 實時視訊是将視訊流實時上傳到伺服器端進行解析, 由RTMP伺服器處理.
安裝RTMP 伺服器
自己動手搭建一個rtmp, 本文在 Linux環境中搭建
去git上clone 一個下來https://github.com/arut/nginx-rtmp-module
解壓後安裝即可, 如何安裝本文不做過多篇幅介紹.
修改配置檔案
修改../nginx-rtmp-module/test下配置檔案nginx.conf, GitHub上就是這個結構, 我們這裡不做改動.
作用是指定端口号和檔案目錄
作用是使浏覽器可以通路,便于我們調試視訊
以上配置基本可以通路了, 如有其它需求可以參見詳細配置:
https://github.com/sergey-dryabzhinsky/nginx-rtmp-module/blob/dev/test/nginx.conf
配置完成後檢查是否正确:
[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/test
輸入下面指令向伺服器推流:
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
将位址放在VLC network中rtmp://10.10.10.10:8001/live/test 即可檢視推流視訊
了解了以上資訊有助于我們部署和測試視訊流, 排查測試工程中出現的問題, 協助開發定位問題.
Story:
無論你天資如何,無論你有多大的缺陷,決定你輸赢的都不是這些,而是你是否能永遠清醒地認識自己,是否能做到戒驕戒躁。在跑步時,跑得快的不一定赢;在打架時,實力弱的不一定輸。沒到最後一刻,都無法定輸赢。隻有笑到最後的人,才是真正的赢家。是以,不懈地努力吧!
微信長按二維碼添加作者友善拉您進群交流
擷取更多精彩内容
測試-感想
JMeter資料庫連接配接操作
JMeter接口測試-參數化
JMeter接口測試基礎
Jmeter接口測試-正規表達式提取器