2014-11-07 1 views
0

Я пытаюсь передать данные веб-камеры через Интернет на машине 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> 

но это не работает. Кто-нибудь знает, где я ошибся?

ответ

0

Вы можете попробовать тег <embed> для этой цели. Что-то вроде этого:

<embed type="video/webm" src="http://localhost:8090/camera1.webm" width="640" height="480"> 

Если это не работает, вы можете попробовать 127.0.0.1 вместо localhost

Смежные вопросы