使用FFMPEG在windows平台下推rtmp流

來源:互聯網
上載者:User

標籤:build   add   跳轉   logs   環境   linu   進程   分享   pat   

使用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/bashfor((;;)); 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/bashsetsid ./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

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

使用FFMPEG在windows平台下推rtmp流

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.