嗨,我想使用 ffserver 通过网络流式传输视频。我得到了这个链接作为参考。
现在我无法弄清楚的是如何传递一个文件夹(其中包含我想要流式传输的所有视频)作为输入以流式传输所有视频。我还希望不时向此文件夹动态添加更多视频,并且应该进行流式传输(就像它在达尔文中的工作方式一样)。现在我不能使用 Darwin,因为它不支持 iOS。
请给我一个建议。
有没有其他开源工具可以做到这一点?
嗨,我想使用 ffserver 通过网络流式传输视频。我得到了这个链接作为参考。
现在我无法弄清楚的是如何传递一个文件夹(其中包含我想要流式传输的所有视频)作为输入以流式传输所有视频。我还希望不时向此文件夹动态添加更多视频,并且应该进行流式传输(就像它在达尔文中的工作方式一样)。现在我不能使用 Darwin,因为它不支持 iOS。
请给我一个建议。
有没有其他开源工具可以做到这一点?
我为此编写了一个 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 页面链接正常工作是必要的。