Raspberry Pi Вебкамера — различия между версиями

Материал из Вікі Фаланстэра
Перейти к: навигация, поиск
(Новая страница: «в '''raspi-config''' включаем вэбкамеру проверяем наличии файла '''/dev/video0''' выполняем '''fswebcam -r 640x480…»)
 
Строка 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
+
Feed webcam.ffm
    Format swf
+
Format swf
    VideoCodec flv
+
VideoCodec flv
    VideoFrameRate 30
+
VideoFrameRate 30
    VideoBufferSize 80000
+
VideoBufferSize 80000
    VideoBitRate 200
+
VideoBitRate 200
    VideoQMin 1
+
VideoQMin 1
    VideoQMax 5
+
VideoQMax 5
    VideoSize 640x480
+
VideoSize 640x480
    PreRoll 1
+
PreRoll 1
    NoAudio
+
NoAudio
</Stream>
+
</Stream>
  
</Stream>
+
# При обращении к индексной страницы ffserver будем отображать текущий статус сервера
+
# При обращении к индексной страницы ffserver будем отображать текущий статус сервера
<Stream index.html>
+
<Stream index.html>
    Format status
+
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/