Как транслировать все видео в папке?
Привет я хочу для потокового видео через Интернет, используя ffserver. Я получил эту ссылку в качестве ссылки.
Теперь я не могу понять, как передать папку (содержимое всех видео, которые я хочу передать) в качестве входных данных для потоковой передачи всех видео. Я также хочу, чтобы время от времени динамически добавлялось больше видео в эту папку, и должна происходить потоковая передача (например, как это работает в Дарвине). теперь я не могу использовать Darwin, потому что он не поддерживает iOS.
пожалуйста, дайте мне предложение.
Есть ли другой инструмент с открытым исходным кодом, с помощью которого я могу это сделать?
1 ответ
Я написал для этого скрипт 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 раздражает, но необходим для правильной работы ссылок на странице статистики.