使用FFMPEG在windows平台下推rtmp流


使用FFMPEG在windows平台下推rtmp流

工作中習慣在Linux下面使用FFmpeg模擬推rtmp流,無奈家中的電腦都是windows系統,需要利用家中的帶寬來測試流媒體服務器的性能。所以研究了一下如何在windows系統中快速推流。

首先下載安裝ffmpeg

下載windows下的FFMPEG壓縮包,解壓到當前目錄,見下圖(如何快速截圖並上傳到圖傳?

我們使用的是ffmpeg-20180429-19c3df0-win64-static\bin路徑下的ffmpeg.exe文件。

寫兩個腳本實現推流

可以使用windows批處理或者powershell腳本,但都得實現兩份,所以最好能夠重用Linux下的shell腳本。

安裝Cygwin

下載安裝Cygwin。

兩個Cygwin命令

  • 跳轉到其他盤符

    $ cd /cygdrive/f

  • 設置環境變量,將ffmpeg的bin目錄加到環境變量中

    $ export PATH=$PATH:/cygdrive/f/Harlan/Software/ffmpeg-20180429-19c3df0-win64-st atic/bin/

循環推流shell腳本

創建一個shell腳本文件pushstream.sh,內容如下

#!/bin/bash

for((;;)); do \
ffmpeg -re  -i "..\videos\test-$1.mp4"  -c copy  -f flv "rtmp://stream_media_server_address:1935/live/test-$1/test-$1"
sleep 1; \
done

注意添加了一個參數$1。

推多路流的shell腳本

將推流的進程啟動為守護進程,創建一個腳本push_all.sh:

#!/bin/bash

setsid ./pushstream.sh 20 >/dev/null 2>&1 < /dev/null &
setsid ./pushstream.sh 30 >/dev/null 2>&1 < /dev/null &
setsid ./pushstream.sh 40 >/dev/null 2>&1 < /dev/null &
setsid ./pushstream.sh 60 >/dev/null 2>&1 < /dev/null &

執行下面的命令啟動腳本:

$ ./push_all.sh

可以看到有四路流在后台同時在推:


免責聲明!

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



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