您好我想使用ffserver通过网络流式传输视频。我得到this链接作为参考。
现在我无法弄明白的是如何将一个文件夹(我想要流式传输的所有视频内容)作为输入来传输所有视频。我还想不时地在这个文件夹中动态添加更多视频,并且应该发生流式传输(比如它在达尔文的工作方式)。现在我不能使用Darwin,因为它不支持iOS。
请给我一个建议。
还有其他开源工具可以用来做到这一点吗?
答案 0 :(得分: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
(当然,在ffmpeg包中,您也需要ffserver)
我通过以下方式流式传输文件:
http://<ip address of streaming server>:8090/stat.html
,然后单击urlencoded值(使用铬)。这将打开流并开始播放。
说明: ffserver不喜欢通配符,或者至少我从来没有想过通配符,所以我只是为服务器中的每个文件创建一个条目。 urlencoding很烦人,但对于统计页面链接正常工作是必要的。