使用FFMPEG在windows平臺下推rtmp流

使用FFMPEG在windows平臺下推rtmp流

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

首先下載安裝ffmpeg

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

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

寫兩個腳本實現推流

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

安裝Cygwin

下載安裝Cygwin。服務器

兩個Cygwin命令

  • 跳轉到其餘盤符ide

    $ cd /cygdrive/f性能

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

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

循環推流shell腳本

建立一個shell腳本文件pushstream.sh,內容以下3d

#!/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

能夠看到有四路流在後臺同時在推:

相關文章
相關標籤/搜索