Raspberry Pi Вебкамера — различия между версиями
Материал из Вікі Фаланстэра
Zed (обсуждение | вклад) (Новая страница: «в '''raspi-config''' включаем вэбкамеру проверяем наличии файла '''/dev/video0''' выполняем '''fswebcam -r 640x480…») |
Zed (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
− | в '''raspi-config''' включаем вэбкамеру | + | в '''raspi-config''' включаем вэбкамеру |
− | проверяем наличии файла '''/dev/video0''' | + | проверяем наличии файла '''/dev/video0''' |
− | выполняем '''fswebcam -r 640x480 -d /dev/video0 /var/www/test.jpg''' | + | выполняем '''fswebcam -r 640x480 -d /dev/video0 /var/www/test.jpg''' |
− | должны получить фото, у меня пришлось еще поставить и '''libjpeg62-dev''' | + | должны получить фото, у меня пришлось еще поставить и '''libjpeg62-dev''' |
− | Есть 2 вида трансляции это фото и видео | + | Есть 2 вида трансляции это фото и видео |
− | Фото Moniton | + | Фото Moniton |
− | Ставим '''apt-get install motion''' | + | Ставим '''apt-get install motion''' |
− | Конфиг '''nano/etc/motion/motion.conf''' | + | Конфиг '''nano/etc/motion/motion.conf''' |
− | Стартуем '''moniton''' | + | Стартуем '''moniton''' |
− | Видео '''ffmpeg''' и '''ffserver''' | + | Видео '''ffmpeg''' и '''ffserver''' |
− | ffmpeg - записывает видео | + | ffmpeg - записывает видео |
− | ffserver - транслирует его | + | ffserver - транслирует его |
− | конфиг '''nano /etc/ffserver.conf''' | + | конфиг '''nano /etc/ffserver.conf''' |
− | --- | + | --- |
− | # Порт, на котором будет работать ffserver | + | # Порт, на котором будет работать ffserver |
− | Port 4444 | + | Port 4444 |
− | # Адрес, на котором будет работать ffserver. | + | # Адрес, на котором будет работать ffserver. |
− | # Если указать 0.0.0.0 то будут использованы все доступные адреса | + | # Если указать 0.0.0.0 то будут использованы все доступные адреса |
− | BindAddress 0.0.0.0 | + | BindAddress 0.0.0.0 |
− | # Максимальное количество обслуживаемых соединений | + | # Максимальное количество обслуживаемых соединений |
− | MaxHTTPConnections 10 | + | MaxHTTPConnections 10 |
− | # Максимальное количество клиентов | + | # Максимальное количество клиентов |
− | MaxClients 10 | + | MaxClients 10 |
− | # Максимальная используемая полоса (в килобитах) | + | # Максимальная используемая полоса (в килобитах) |
− | MaxBandwidth 5000 | + | MaxBandwidth 5000 |
− | # Файл журнала. Формат подобен формату лога apache | + | # Файл журнала. Формат подобен формату лога apache |
− | CustomLog /var/log/ffserver-access.log | + | CustomLog /var/log/ffserver-access.log |
− | # Описываем источник | + | # Описываем источник |
− | <Feed webcam.ffm> | + | <Feed webcam.ffm> |
− | # Временный файл для хранения промежуточных данных | + | # Временный файл для хранения промежуточных данных |
− | File /tmp/video.flv | + | File /tmp/video.flv |
− | # Максимальный размер файла с промежуточными данными | + | # Максимальный размер файла с промежуточными данными |
− | FileMaxSize 1M | + | FileMaxSize 1M |
− | # Команда запуска ffmpeg для захвата видео с камеры и отправки ffserver-у. | + | # Команда запуска ffmpeg для захвата видео с камеры и отправки ffserver-у. |
− | # Адрес для отправки данных (localhost) автоматически будет добавлен в конец этой строки. | + | # Адрес для отправки данных (localhost) автоматически будет добавлен в конец этой строки. |
− | # (подробнее см. ниже). | + | # (подробнее см. ниже). |
− | #Launch ffmpeg -s 640x480 -f video4linux2 -i /dev/video0 -f alsa -i hw:1 | + | #Launch ffmpeg -s 640x480 -f video4linux2 -i /dev/video0 -f alsa -i hw:1 |
− | # С каких адресов может обращаться источник. Если закоментировано - с любых. | + | # С каких адресов может обращаться источник. Если закоментировано - с любых. |
− | # ACL allow 127.0.0.1 | + | # ACL allow 127.0.0.1 |
− | </Feed> | + | </Feed> |
− | # Описываем поток. SWF-файл с FLV-потоком внутри. | + | # Описываем поток. SWF-файл с FLV-потоком внутри. |
− | <Stream webcam.swf> | + | <Stream webcam.swf> |
− | + | Feed webcam.ffm | |
− | + | Format swf | |
− | + | VideoCodec flv | |
− | + | VideoFrameRate 30 | |
− | + | VideoBufferSize 80000 | |
− | + | VideoBitRate 200 | |
− | + | VideoQMin 1 | |
− | + | VideoQMax 5 | |
− | + | VideoSize 640x480 | |
− | + | PreRoll 1 | |
− | + | NoAudio | |
− | </Stream> | + | </Stream> |
− | + | ||
− | # При обращении к индексной страницы ffserver будем отображать текущий статус сервера | + | # При обращении к индексной страницы ffserver будем отображать текущий статус сервера |
− | <Stream index.html> | + | <Stream index.html> |
− | + | Format status | |
− | </Stream> | + | </Stream> |
− | --- | + | --- |
− | Запускаем сначала ffmpeg | + | Запускаем сначала ffmpeg |
− | '''ffmpeg -f video4linux2 -i /dev/video0 -f flv /tmp/video.flv''' | + | '''ffmpeg -f video4linux2 -i /dev/video0 -f flv /tmp/video.flv''' |
− | а патом ffserver | + | а патом ffserver |
− | '''ffserver -f /etc/ffserver.conf''' | + | '''ffserver -f /etc/ffserver.conf''' |
− | идем на '''http://ip_server:4444/''' | + | идем на '''http://ip_server:4444/''' |
Версия 23:53, 25 мая 2013
в raspi-config включаем вэбкамеру проверяем наличии файла /dev/video0 выполняем fswebcam -r 640x480 -d /dev/video0 /var/www/test.jpg должны получить фото, у меня пришлось еще поставить и libjpeg62-dev Есть 2 вида трансляции это фото и видео Фото Moniton Ставим apt-get install motion Конфиг nano/etc/motion/motion.conf Стартуем moniton Видео ffmpeg и ffserver ffmpeg - записывает видео ffserver - транслирует его конфиг nano /etc/ffserver.conf --- # Порт, на котором будет работать ffserver Port 4444 # Адрес, на котором будет работать ffserver. # Если указать 0.0.0.0 то будут использованы все доступные адреса BindAddress 0.0.0.0 # Максимальное количество обслуживаемых соединений MaxHTTPConnections 10 # Максимальное количество клиентов MaxClients 10 # Максимальная используемая полоса (в килобитах) MaxBandwidth 5000 # Файл журнала. Формат подобен формату лога apache CustomLog /var/log/ffserver-access.log # Описываем источник <Feed webcam.ffm> # Временный файл для хранения промежуточных данных File /tmp/video.flv # Максимальный размер файла с промежуточными данными FileMaxSize 1M # Команда запуска ffmpeg для захвата видео с камеры и отправки ffserver-у. # Адрес для отправки данных (localhost) автоматически будет добавлен в конец этой строки. # (подробнее см. ниже). #Launch ffmpeg -s 640x480 -f video4linux2 -i /dev/video0 -f alsa -i hw:1 # С каких адресов может обращаться источник. Если закоментировано - с любых. # ACL allow 127.0.0.1 </Feed> # Описываем поток. SWF-файл с FLV-потоком внутри.
<Stream webcam.swf> Feed webcam.ffm Format swf VideoCodec flv VideoFrameRate 30 VideoBufferSize 80000 VideoBitRate 200 VideoQMin 1 VideoQMax 5 VideoSize 640x480 PreRoll 1 NoAudio </Stream>
# При обращении к индексной страницы ffserver будем отображать текущий статус сервера <Stream index.html> Format status </Stream> --- Запускаем сначала ffmpeg ffmpeg -f video4linux2 -i /dev/video0 -f flv /tmp/video.flv а патом ffserver ffserver -f /etc/ffserver.conf идем на http://ip_server:4444/