私はこれのためにbashスクリプトを書きました.ubuntu 16で動作しています.うまくいけば、他の誰かがそれほどひどい言語でそれを書くことができます.スクリプトは次のとおりです.
echo -e "HTTPPort 8090\nHTTPBindAddress 0.0.0.0\nMaxHTTPConnections 2000\nMaxClients 1000\nMaxBandwidth 1000\nCustomLog -\n<Stream stat.html>\nFormat status\n</Stream>"
num=1
for i in *.mp3; do
echo -e "<Stream \"$(urlencode $i)\">\nFile \"$(pwd)/$i\"\nFormat mp2\nAudioCodec libmp3lame\nAudioBitRate 64\nAudioChannels 1\nAudioSampleRate 44100\nNoVideo\n</Stream>"
done
これを、提供するフォルダーに bash スクリプトとして保存します。次のように参照します。
./gen_ffserver_conf.sh
mp3 用にハード コードされているため、別の形式にするには、私のエコーを並べ替える必要があります。サーバーを次のように実行します。
ffserver -f <(bash -e ./gen_ffserver_conf.sh)
URLエンコーディング用のパッケージをインストールする必要がありました:
sudo apt install gridsite-clients
(もちろん、ffmpeg パッケージには ffserver も必要です)
次の場所に移動して、ファイルをストリーミングします。
http://<ip address of streaming server>:8090/stat.html
urlencoded 値をクリックします (クロムを使用)。これにより、ストリームが開き、再生が開始されます。
説明: ffserver はワイルドカードが好きではないか、少なくとも私はそれを理解できなかったので、サーバー内の各ファイルのエントリを作成しているだけです。Urlencoding は面倒ですが、統計ページのリンクが適切に機能するために必要です。