Webcamera - вещание в сеть

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
tisugol
мл. сержант
Сообщения: 73
Зарегистрирован: 2010-03-21 18:57:07

Webcamera - вещание в сеть

Непрочитанное сообщение tisugol » 2012-02-10 13:07:48

FreeBSD 8.2 - 64 (headless)

Установил v4l + webcamd + zoneminder ну и по списку. Все установилось.

Код: Выделить всё

pwcview -h -d /dev/video0 -c 1 -o /tmp/foo2.jpg -s vga 
генерирует jpg. Как теперь это все прицепить к zoneminder?

Метод в лоб генерирует

Код: Выделить всё

zmc_dvideo0[79540]: FAT [Can't find swscale format for palette 0]
Feb 10 12:35:33 <local1.err> zmdc[50955]: ERR ['zmc -d /dev/video0' exited abnormally, exit status 255]
Попытка запустить ffmpeg привела к тому что в нем вообще нет v4l. Пересобрал исправив patch-config в портах. При попытке что либо сделать

Код: Выделить всё

ffmpeg -f mjpeg -i /dev/video0 /tmp/out2.flv
[mjpeg @ 0x80381f020] Could not find codec parameters (Video: mjpeg)
[mjpeg @ 0x80381f020] Estimating duration from bitrate, this may be inaccurate
/dev/video0: could not find codec parameters
Или

Код: Выделить всё

ffmpeg -an -f video4linux -vcodec mjpeg -s 320x240 -r 5 -b 200000 -i /dev/video0 test.avi
[video4linux @ 0x803820020] V4L input device is deprecated and will be removed in the next release.VIDIOCGCAP: Invalid argument
/dev/video0: Input/output error
Права при этом 666


Вообщем идеи/советы/мысли? Все подходит кроме motion (на нем будет bktr)
Последний раз редактировалось f_andrey 2012-02-10 20:11:09, всего редактировалось 1 раз.
Причина: Автору, выбирайте пожалуйста раздел соответствуюший тематике вашего сообщения.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/


tisugol
мл. сержант
Сообщения: 73
Зарегистрирован: 2010-03-21 18:57:07

Re: Webcamera - вещание в сеть

Непрочитанное сообщение tisugol » 2012-02-10 20:00:34

d.kalinin писал(а):http://nixadm.ru/archives/716
Чрезвычайно информативно. То есть вы думаете что строка автора

Код: Выделить всё

ffmpeg -f video4linux -s 640x480 -r 15 -i /dev/video0 http://127.0.0.1:8090/webcam1.ffm
Исправит то что происходит у меня?

Код: Выделить всё

ffmpeg -an -f video4linux -vcodec mjpeg -s 320x240 -r 5 -b 200000 -i /dev/video0 test.avi
[video4linux @ 0x803820020] V4L input device is deprecated and will be removed in the next release.VIDIOCGCAP: Invalid argument
/dev/video0: Input/output error
Проверим?

Код: Выделить всё

 ffmpeg -f video4linux -s 640x480 -r 15 -i /dev/video0 test.avi
ffmpeg version 0.7.11, Copyright (c) 2000-2011 the FFmpeg developers
  built on Feb 10 2012 11:38:03 with gcc 4.2.1 20070719  [FreeBSD]
  configuration: --prefix=/usr/local --mandir=/usr/local/man --enable-shared --enable-gpl --enable-postproc --enable-avfilter --enable-pthreads --enable-x11grab --enable-memalign-hack --enable-runtime-cpudetect --cc=cc --extra-cflags='-msse -I/usr/local/include' --extra-ldflags='-L/usr/local/lib ' --extra-libs=-pthread --disable-debug --disable-libaacplus --disable-indev=alsa --disable-outdev=alsa --disable-libopencore-amrnb --disable-libopencore-amrwb --disable-libcelt --disable-libdirac --disable-libfaac --disable-libfreetype --disable-frei0r --disable-libgsm --disable-libmp3lame --disable-libopencv --disable-libopenjpeg --disable-librtmp --disable-libschroedinger --disable-ffplay --disable-libspeex --disable-libtheora --disable-vaapi --disable-vdpau --disable-libvo-aacenc --disable-libvo-amrwbenc --disable-libvorbis --disable-libvpx --disable-libx264 --disable-libxvid
  libavutil    50. 43. 0 / 50. 43. 0
  libavcodec   52.123. 0 / 52.123. 0
  libavformat  52.111. 0 / 52.111. 0
  libavdevice  52.  5. 0 / 52.  5. 0
  libavfilter   1. 80. 0 /  1. 80. 0
  libswscale    0. 14. 1 /  0. 14. 1
  libpostproc  51.  2. 0 / 51.  2. 0
[video4linux @ 0x80381f020] V4L input device is deprecated and will be removed in the next release.VIDIOCGCAP: Invalid argument
/dev/video0: Input/output error
И чтобы быть уверенным

Код: Выделить всё

ffmpeg -f video4linux2 -s 640x480 -r 15 -i /dev/video0 test.avi
--вырезано--
[video4linux2 @ 0x80381f020] The driver changed the time per frame from 1/15 to 1/30
[video4linux2 @ 0x80381f020] mmap: Invalid argument
/dev/video0: Input/output error

d.kalinin
рядовой
Сообщения: 20
Зарегистрирован: 2010-07-03 10:02:47

Re: Webcamera - вещание в сеть

Непрочитанное сообщение d.kalinin » 2012-02-10 20:08:49

Код: Выделить всё

env LD_PRELOAD=/usr/local/lib/libv4l/v4l1compat.so
С v4l2 подружить не получилось, v4l - нормально работало

d.kalinin
рядовой
Сообщения: 20
Зарегистрирован: 2010-07-03 10:02:47

Re: Webcamera - вещание в сеть

Непрочитанное сообщение d.kalinin » 2012-02-10 21:13:14

Зацепил китайскую вебку (нормальной сейчас нет)
mira# date
пятница, 10 февраля 2012 г. 22:10:36 (MSK)
mira# ./webcam2ffserver.sh
ffmpeg version 0.7.11, Copyright (c) 2000-2011 the FFmpeg developers
built on Feb 10 2012 21:49:27 with gcc 4.2.1 20070831 patched [FreeBSD]
configuration: --prefix=/usr/local --mandir=/usr/local/man --enable-shared --enable-gpl --enable-postproc --enable-avfilter --enable-pthreads --enable-x11grab --enable-memalign-hack --enable-runtime-cpudetect --cc=cc --extra-cflags='-msse -I/usr/local/include' --extra-ldflags='-L/usr/local/lib ' --extra-libs=-pthread --disable-debug --disable-libaacplus --disable-indev=alsa --disable-outdev=alsa --disable-libopencore-amrnb --disable-libopencore-amrwb --disable-libcelt --disable-libdirac --disable-libfaac --disable-libfreetype --disable-frei0r --disable-libgsm --disable-libmp3lame --disable-libopencv --disable-libopenjpeg --disable-librtmp --disable-libschroedinger --disable-ffplay --disable-libspeex --disable-libtheora --disable-vaapi --disable-vdpau --disable-libvo-aacenc --disable-libvo-amrwbenc --disable-libvorbis --disable-libvpx --disable-libx264 --disable-libxvid
libavutil 50. 43. 0 / 50. 43. 0
libavcodec 52.123. 0 / 52.123. 0
libavformat 52.111. 0 / 52.111. 0
libavdevice 52. 5. 0 / 52. 5. 0
libavfilter 1. 80. 0 / 1. 80. 0
libswscale 0. 14. 1 / 0. 14. 1
libpostproc 51. 2. 0 / 51. 2. 0
[video4linux @ 0x80402a820] V4L input device is deprecated and will be removed in the next release.Estimating duration from bitrate, this may be inaccurate
Input #0, video4linux, from '/dev/video0':
Duration: N/A, start: 1328897458.045957, bitrate: 13824 kb/s
Stream #0.0: Video: rawvideo, yuv420p, 320x240, 13824 kb/s, 15 tbr, 1000k tbn, 15 tbc
[buffer @ 0x804133180] w:320 h:240 pixfmt:yuv420p tb:1/1000000 sar:0/1 sws_param:
Output #0, ffm, to 'http://127.0.0.1:8090/webcam1.ffm':
Metadata:
encoder : Lavf52.111.0
Stream #0.0: Video: flv, yuv420p, 320x240, q=10-20, 1000 kb/s, 1000k tbn, 15 tbc
Stream mapping:
Stream #0.0 -> #0.0
Press [q] to stop, [?] for help
[flv @ 0x80401a920] rc buffer underflow
frame= 326 fps= 16 q=2.0 Lsize= 192kB time=00:00:21.73 bitrate= 72.4kbits/s dup=209 drop=0
video:181kB audio:0kB global headers:0kB muxing overhead 6.035013%
Received signal 2: terminating.
Для продолжения нажмите любую клавишу...

mira# uname -a
FreeBSD mira.s25.tmb.local 9.0-STABLE FreeBSD 9.0-STABLE #16 r+0d7654a: Fri Feb 10 07:20:12 MSK 2012 root@mira.s25.tmb.local:/usr/obj/usr/src/sys/mira amd64
mira#
Поток идет, картинка есть. Но с китайской беда - кадры в дюпы валятся "dup=209"

tisugol
мл. сержант
Сообщения: 73
Зарегистрирован: 2010-03-21 18:57:07

Re: Webcamera - вещание в сеть

Непрочитанное сообщение tisugol » 2012-02-11 11:03:42

Сделал все по инструкции единственное исправил ffserver.conf

Код: Выделить всё

# cat /usr/local/etc/ffserver.conf
Port 8090
BindAddress 0.0.0.0
MaxHTTPConnections 200
MaxClients 20
MaxBandwidth 20000
CustomLog /var/log/ffserver.log

<Feed feed1.ffm>

    File /tmp/webcam1.ffm
    FileMaxSize 200K
    ACL allow 127.0.0.1

    Format status
    ACL allow localhost
    ACL allow 172.16.5.0 172.16.5.255

    URL http://www.ffmpeg.org/

    Feed webcam1.ffm
    Format swf
    VideoBitRate 1000
    VideoBufferSize 20000
    VideoFrameRate 15
    VideoSize 640x480
    VideoQMin 10
    VideoQMax 20
    PreRoll 3
    NoAudio
    ACL ALLOW 0.0.0.0 255.255.255.255

</Feed>
При запуске скрипта

Код: Выделить всё

 ./webcam2ffserver.sh
ffmpeg version 0.7.11, Copyright (c) 2000-2011 the FFmpeg developers
  built on Feb 10 2012 11:38:03 with gcc 4.2.1 20070719  [FreeBSD]
  configuration: --prefix=/usr/local --mandir=/usr/local/man --enable-shared --enable-gpl --enable-postproc --enable-avfilter --enable-pthreads --enable-x11grab --enable-memalign-hack --enable-runtime-cpudetect --cc=cc --extra-cflags='-msse -I/usr/local/include' --extra-ldflags='-L/usr/local/lib ' --extra-libs=-pthread --disable-debug --disable-libaacplus --disable-indev=alsa --disable-outdev=alsa --disable-libopencore-amrnb --disable-libopencore-amrwb --disable-libcelt --disable-libdirac --disable-libfaac --disable-libfreetype --disable-frei0r --disable-libgsm --disable-libmp3lame --disable-libopencv --disable-libopenjpeg --disable-librtmp --disable-libschroedinger --disable-ffplay --disable-libspeex --disable-libtheora --disable-vaapi --disable-vdpau --disable-libvo-aacenc --disable-libvo-amrwbenc --disable-libvorbis --disable-libvpx --disable-libx264 --disable-libxvid
  libavutil    50. 43. 0 / 50. 43. 0
  libavcodec   52.123. 0 / 52.123. 0
  libavformat  52.111. 0 / 52.111. 0
  libavdevice  52.  5. 0 / 52.  5. 0
  libavfilter   1. 80. 0 /  1. 80. 0
  libswscale    0. 14. 1 /  0. 14. 1
  libpostproc  51.  2. 0 / 51.  2. 0
[video4linux @ 0x80401f020] V4L input device is deprecated and will be removed in the next release.Estimating duration from bitrate, this may be inaccurate
Input #0, video4linux, from '/dev/video0':
  Duration: N/A, start: 1328947379.270069, bitrate: 55296 kb/s
    Stream #0.0: Video: rawvideo, yuv420p, 640x480, 55296 kb/s, 15 tbr, 1000k tbn, 15 tbc
TCP connection to 127.0.0.1:8090 failed: Connection refused
http://127.0.0.1:8090/webcam1.ffm: Input/output error
Не пойму что ему к порту не дает привязаться

d.kalinin
рядовой
Сообщения: 20
Зарегистрирован: 2010-07-03 10:02:47

Re: Webcamera - вещание в сеть

Непрочитанное сообщение d.kalinin » 2012-02-11 11:16:12

WordPress криво ffserver.conf отображает

там идет две секции:
1:
<feed webcam1.ffm>
File /tmp/webcam1.ffm
FileMaxSize 200K
ACL allow 127.0.0.1
</feed>
2:
<stream webcam1.swf>
Feed webcam1.ffm
Format swf
VideoBitRate 1000
VideoBufferSize 20000
VideoFrameRate 15
VideoSize 640x480
VideoQMin 10
VideoQMax 20
PreRoll 3
NoAudio
ACL ALLOW 0.0.0.0 255.255.255.255
</stream>

Весь конфиг так выглядит:
Port 8090
BindAddress 0.0.0.0
MaxHTTPConnections 200
MaxClients 20
MaxBandwidth 20000
CustomLog /var/log/ffserver.log

<feed webcam1.ffm>
File /tmp/webcam1.ffm
FileMaxSize 200K
ACL allow 127.0.0.1
</feed>

<stream webcam1.swf>
Feed webcam1.ffm
Format swf
VideoBitRate 1000
VideoBufferSize 20000
VideoFrameRate 15
VideoSize 640x480
VideoQMin 10
VideoQMax 20
PreRoll 3
NoAudio
ACL ALLOW 0.0.0.0 255.255.255.255
</stream>

К каждому фиду может быть привязано несколько стримов.

Почему ffserver не стартует можно в логе посмотреть /var/log/ffserver.log

tisugol
мл. сержант
Сообщения: 73
Зарегистрирован: 2010-03-21 18:57:07

Re: Webcamera - вещание в сеть

Непрочитанное сообщение tisugol » 2012-02-11 12:52:38

Огромное спасибо. Все запустилось и работает. Если правда зайти с машины из сети выдает File '/' not found

Какой это тип потока? Zoneminder понимает http и rtsp
rtsp типов rtp unicast, rtp multicast, RTP RTSP и RTP RTSP HTTP

d.kalinin
рядовой
Сообщения: 20
Зарегистрирован: 2010-07-03 10:02:47

Re: Webcamera - вещание в сеть

Непрочитанное сообщение d.kalinin » 2012-02-11 13:01:03

Потоки можно посмотреть в дефолтовом конфиге ffserver.

В данном случае - это обычный флеш "Format swf"

Ссылка для браузера имеет вид http://<host>:<port>/<имя потока>, т.е. http://<host>:<port>/webcam1.swf

Еще в дефолтовом конфиге есть поток для статистики, <stream stat.html> - показывает клиентов, информацию о потоках

Аватара пользователя
QweЯty
лейтенант
Сообщения: 793
Зарегистрирован: 2010-10-12 0:15:15
Откуда: Таганрог, Калининград
Контактная информация:

Re: Webcamera - вещание в сеть

Непрочитанное сообщение QweЯty » 2012-02-11 13:44:35

можете слить сюда линк
а то у меня тока 1/4 загрузилось за полтора часа :(
Инженер не смотрит порно. Он ведет расчет бабы на усталость © Федор Сумкин
Изображение

tisugol
мл. сержант
Сообщения: 73
Зарегистрирован: 2010-03-21 18:57:07

Re: Webcamera - вещание в сеть

Непрочитанное сообщение tisugol » 2012-02-12 15:50:58

d.kalinin, огромное спасибо за помощь. Поток идет отлично. Вы случайно не пробовали его прикрутить к zoneminder? Никак не могу подобрать необходимые параметры потока, все время отображается черная картинка в zoneminder. Логи невнятные увы.

d.kalinin
рядовой
Сообщения: 20
Зарегистрирован: 2010-07-03 10:02:47

Re: Webcamera - вещание в сеть

Непрочитанное сообщение d.kalinin » 2012-02-13 11:20:51

К сожалению с zoneminder не сталкивался :(

densan
ст. сержант
Сообщения: 366
Зарегистрирован: 2007-12-06 10:02:02
Откуда: Penza
Контактная информация:

Re: Webcamera - вещание в сеть

Непрочитанное сообщение densan » 2012-02-18 10:47:49

Один человек патчил zoneminder на предмет работы с /dev/videox.
Его сайт http://www.rockafunk.org, архив программ, которые он патчил, в который включен zoneminder http://www.rockafunk.org/patches_and_includes.tar.gz
This port of zoneminder is edited to work with usb webcams. Но порт не свежий. версия 1.24.2

densan
ст. сержант
Сообщения: 366
Зарегистрирован: 2007-12-06 10:02:02
Откуда: Penza
Контактная информация:

Re: Webcamera - вещание в сеть

Непрочитанное сообщение densan » 2012-02-21 15:46:06

tisugol
Удалось запустить порт camserv. Берет данные с камеры и вещает в формате mjpeg. порт можешь посмотреть в ссылке, которую я давал выше.

tisugol
мл. сержант
Сообщения: 73
Зарегистрирован: 2010-03-21 18:57:07

Re: Webcamera - вещание в сеть

Непрочитанное сообщение tisugol » 2012-02-21 19:56:11

densan,
Спасибо но camserv не идет на х 64
Все удалось запустить на связке ffserver и motion...
Одно надо признать качество ffserver пока до удовлетворительного не удалось подтянуть