Я пытаюсь передать данные веб-камеры через Интернет на машине lubuntu. Для этого я установил ffmpeg и ffserver. Однако я не могу заставить это работать. Я хотел бы использовать формат webm, чтобы интегрировать его как видео HTML5. Я нашел несколько примеров этого в Интернете, так что я основал свои настройки. Это ffserver конфигурации у меня есть на данный момент:ffserver streams webm data, но ничего не отображается
HTTPPort 8090 # Port to bind the server to
HTTPBindAddress 0.0.0.0
MaxHTTPConnections 2000
MaxClients 1000
MaxBandwidth 10000 # Maximum bandwidth per client
# set this high enough to exceed stream bitrate
CustomLog -
#NoDaemon # Remove this if you want FFserver to daemonize after start
<Feed feed1.ffm> # This is the input feed where FFmpeg will send
File ./feed1.ffm # video stream.
FileMaxSize 5M # Maximum file size for buffering video
ACL allow 127.0.0.1 # Allowed IPs
</Feed>
<Stream camera1.webm> # Output stream URL definition
Feed feed1.ffm # Feed from which to receive video
Format webm
# Audio settings
#AudioCodec vorbis
#AudioBitRate 64 # Audio bitrate
NoAudio
# Video settings
VideoCodec libvpx
VideoSize 640x480 # Video resolution
VideoFrameRate 2 # Video FPS
AVOptionVideo flags +global_header # Parameters passed to encoder
# (same as ffmpeg command-line parameters)
#AVOptionVideo cpu-used 0
AVOptionVideo qmin 1
AVOptionVideo qmax 42
#AVOptionVideo quality good
AVOptionAudio flags +global_header
#PreRoll 1
#StartSendOnKey
VideoBitRate 400 # Video bitrate
</Stream>
<Stream status.html> # Server status URL
Format status
# Only allow local people to get the status
ACL allow localhost
ACL allow 192.168.0.0 192.168.255.255
</Stream>
<Redirect index.html> # Just an URL redirect for index
# Redirect index.html to the appropriate site
URL http://www.ffmpeg.org/
</Redirect>
Я поставил FPS на 2 секунды, довольно много максимума компьютер я использую можно достигнуть, 4 по какой-то причине. Затем я начинаю FFmpeg с помощью следующей команды:
ffmpeg -f video4linux2 -s 640x480 -r 2 -i /dev/video0 -c:v libvpx http://localhost:8090/feed1.ffm.
входа стандартного UVC веб-камера, которая wprks правильно (протестировано с сыром), FFmpeg, кажется, работает (настройка файла как Ouput работает правильно) и ссылку на ffserver похоже, работает, две программы реконизовывают друг друга. Если приложение запрашивает поток ffserver, оно принимает данные. Например, wget приводит к файлу размера, который вы ожидаете с заданным битрейтом. Однако открытие потока на веб-странице не работает. Я попробовал это двумя способами: просто просмотрев веб-ссылку. firefox указывает, что он получает некоторые данные, но ничего не отображается. ffserver также указывает, что переносится нормальный объем данных. Второй вариант, который я пробовал, - это веб-страница с видео тегами для видеопотока:
<video with="640" height="480" autoplay>
<source src="http://localhost:8090/camera1.webm" type="video/webm">
</video>
но это не работает. Кто-нибудь знает, где я ошибся?