6

嗨,我想使用 ffserver 通过网络流式传输视频。我得到了这个链接作为参考。

现在我无法弄清楚的是如何传递一个文件夹(其中包含我想要流式传输的所有视频)作为输入以流式传输所有视频。我还希望不时向此文件夹动态添加更多视频,并且应该进行流式传输(就像它在达尔文中的工作方式一样)。现在我不能使用 Darwin,因为它不支持 iOS。

请给我一个建议。

有没有其他开源工具可以做到这一点?

4

1 回答 1

0

我为此编写了一个 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

(当然你也需要 ffserver,在 ffmpeg 包中)

我通过以下方式流式传输文件:

http://<ip address of streaming server>:8090/stat.html

并单击 urlencoded 值(使用铬)。这将打开流并开始播放。

说明:ffserver 不喜欢通配符,或者至少我从来没有想过,所以我只是为服务器中的每个文件创建一个条目。urlencoding 很烦人,但对于 stat 页面链接正常工作是必要的。

于 2018-08-12T00:42:47.753 回答