ffmpeg + video4linux2

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

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

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
serezhaf
проходил мимо
Сообщения: 3
Зарегистрирован: 2014-10-28 21:14:09

ffmpeg + video4linux2

Непрочитанное сообщение serezhaf » 2014-10-28 21:19:49

Никак не получается грабить видео с камеры при помощи ffmpeg'а.

Установлен webcamd, камеру видит, pwcview спокойно получает изображение.
Пытаюсь выполнить ffmpeg -f video4linux2 -i /dev/video0 -vcodec mpeg4 -f avi test.avi

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

ffmpeg version 2.3.3 Copyright (c) 2000-2014 the FFmpeg developers
  built on Oct 28 2014 23:57:50 with FreeBSD clang version 3.3 (tags/RELEASE_33/final 183502) 20130610
  configuration: --disable-libaacplus --disable-indev=alsa --disable-outdev=alsa --disable-libopencore-amrnb --disable-libopencore-amrwb --disable-libass --disable-libcdio --disable-libcelt --enable-libfaac --disable-libfdk-aac --disable-ffserver --enable-fontconfig --enable-libfreetype --enable-frei0r --disable-gnutls --disable-libgsm --enable-iconv --disable-indev=jack --enable-libmp3lame --disable-libbluray --enable-libv4l2 --disable-libmodplug --disable-openal --disable-indev=openal --enable-libopencv --disable-libopenjpeg --disable-libopus --disable-libpulse --disable-indev=pulse --disable-outdev=pulse --disable-librtmp --enable-libschroedinger --disable-libspeex --enable-libtheora --disable-vaapi --disable-vdpau --enable-libvorbis --disable-libvo-aacenc --disable-libvo-amrwbenc --enable-libvpx --enable-libx264 --disable-libx265 --enable-libxvid --prefix=/usr/local --mandir=/usr/local/man --datadir=/usr/local/share/ffmpeg --enable-shared --enable-gpl --enable-postproc --enable-avfilter --enable-avresample --enable-pthreads --enable-memalign-hack --disable-libstagefright-h264 --disable-libutvideo --disable-libsoxr --cc=cc --extra-cflags='-msse -I/usr/local/include/vorbis -I/usr/local/include' --extra-ldflags='-L/usr/local/lib ' --extra-libs=-pthread --disable-debug --disable-ffplay --disable-outdev=sdl --enable-nonfree
  libavutil      52. 92.100 / 52. 92.100
  libavcodec     55. 69.100 / 55. 69.100
  libavformat    55. 48.100 / 55. 48.100
  libavdevice    55. 13.102 / 55. 13.102
  libavfilter     4. 11.100 /  4. 11.100
  libavresample   1.  3.  0 /  1.  3.  0
  libswscale      2.  6.100 /  2.  6.100
  libswresample   0. 19.100 /  0. 19.100
  libpostproc    52.  3.100 / 52.  3.100
libv4l2: error mmapping buffer 16: Invalid argument
[video4linux2,v4l2 @ 0x808050420] ioctl(VIDIOC_QBUF): Invalid argument
libv4l2: warning v4l2 mmap buffers still mapped on close()
/dev/video0: Invalid argument
truss пока не сильно помог, вот кусочек:

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

libv4l2: error mmapping buffer 16: Invalid argument
write(2,"libv4l2: error mmapping buffer 1"...,52) = 52 (0x34)
[video4linux2,v4l2 @ 0x808050420] write(2,"\^[[0;35m[video4linux2,v4l2 @ 0x"...,45) = 45 (0x2d)
ioctl(VIDIOC_QBUF): Invalid argument
write(2,"\^[[1;31mioctl(VIDIOC_QBUF): Inv"...,48) = 48 (0x30)
munmap(0x800685000,460800)                       = 0 (0x0)
munmap(0x8006f6000,460800)                       = 0 (0x0)
munmap(0x800767000,460800)                       = 0 (0x0)
munmap(0x80798e000,460800)                       = 0 (0x0)
munmap(0x8079ff000,460800)                       = 0 (0x0)
munmap(0x807a70000,460800)                       = 0 (0x0)
munmap(0x807ae1000,460800)                       = 0 (0x0)
munmap(0x807b52000,460800)                       = 0 (0x0)
munmap(0x828400000,460800)                       = 0 (0x0)
munmap(0x828471000,460800)                       = 0 (0x0)
munmap(0x8284e2000,460800)                       = 0 (0x0)
munmap(0x828553000,460800)                       = 0 (0x0)
munmap(0x8285c4000,460800)                       = 0 (0x0)
munmap(0x828635000,460800)                       = 0 (0x0)
munmap(0x8286a6000,460800)                       = 0 (0x0)
munmap(0x828717000,460800)                       = 0 (0x0)
libv4l2: warning v4l2 mmap buffers still mapped on close()
write(2,"libv4l2: warning v4l2 mmap buffe"...,59) = 59 (0x3b)
close(3)                                         = 0 (0x0)
madvise(0x80802c000,0x1000,0x5,0xaaaaaaaaaaaaaaab,0x808000b58,0x80374cb10) = 0 (0x0)
madvise(0x808031000,0x2000,0x5,0xaaaaaaaaaaaaaaab,0x808000b58,0x80374cb10) = 0 (0x0)
madvise(0x808064000,0x1000,0x5,0xaaaaaaaaaaaaaaab,0x808000b58,0x80374cb10) = 0 (0x0)
madvise(0x80806d000,0x1000,0x5,0xaaaaaaaaaaaaaaab,0x808000b58,0x80374cb10) = 0 (0x0)
madvise(0x80807d000,0x4000,0x5,0xaaaaaaaaaaaaaaab,0x808000b58,0x80374cb10) = 0 (0x0)
madvise(0x808046000,0x1000,0x5,0xaaaaaaaaaaaaaaab,0x808000708,0x80374cb10) = 0 (0x0)
madvise(0x80804f000,0x1000,0x5,0xaaaaaaaaaaaaaaab,0x808000708,0x80374cb10) = 0 (0x0)
/dev/video0: Invalid argument
write(2,"\^[[1;31m/dev/video0: Invalid ar"...,41) = 41 (0x29)
madvise(0x808047000,0x8000,0x5,0xaaaaaaaaaaaaaaab,0x8080008a0,0x80374cb10) = 0 (0x0)
madvise(0x808050000,0x1000,0x5,0xaaaaaaaaaaaaaaab,0x8080008a0,0x80374cb10) = 0 (0x0)
madvise(0x808060000,0x1000,0x5,0xaaaaaaaaaaaaaaab,0x8080008a0,0x80374cb10) = 0 (0x0)
ioctl(0,TIOCSETA,0x62c748)                       = 0 (0x0)
process exit, rval = 1
Под линухом с этой же камерой - все ок.
Никто не сталкивался с такой проблемой?
Последний раз редактировалось f_andrey 2014-10-28 22:33:28, всего редактировалось 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/