Jump to content
ChaoticSerg

motion и FFmpeg/Libav

Recommended Posts

Добрый вечер.

Может кто занимался и подскажет мне с моей проблемой. Поставил motion. Настроил на IP камеру. Но в логах

появляется ошибка:

motion_loop: Retrying until successful connection with camera

Network Camera thread starting... for url (value ......)

netcam_setup_rtsp: FFmpeg/Libav not found on computer.  No RTSP support

Я конечно сразу смотрю какие пакеты не поставил и их два - ffmpeg и libffmpeg-full. Ставлю их, а ситуация не меняется.

Скажите, пожалуйста какие ему тогда пакеты надо поставить?

  • Thanks 1

Share this post


Link to post
Share on other sites

@ChaoticSerg, возможно motion собирался без поддержки ffmpeg. По-крайней мере этот кусок кода из motion говорит об этом, что в принципе логично, учитывая мощности роутерных процессоров. 

int netcam_setup_rtsp(netcam_context_ptr netcam, struct url_t *url){
#ifdef HAVE_FFMPEG
    .........
    return 0;
#else  /* No FFmpeg/Libav */
    MOTION_LOG(ERR, TYPE_NETCAM, NO_ERRNO, "%s: FFmpeg/Libav not found on computer.  No RTSP support");
    return -1;
#endif /* End #ifdef HAVE_FFMPEG */
}

 

  • Thanks 1

Share this post


Link to post
Share on other sites
6 часов назад, McMCC сказал:

@ChaoticSerg, возможно motion собирался без поддержки ffmpeg. По-крайней мере этот кусок кода из motion говорит об этом, что в принципе логично, учитывая мощности роутерных процессоров. 


int netcam_setup_rtsp(netcam_context_ptr netcam, struct url_t *url){
#ifdef HAVE_FFMPEG
    .........
    return 0;
#else  /* No FFmpeg/Libav */
    MOTION_LOG(ERR, TYPE_NETCAM, NO_ERRNO, "%s: FFmpeg/Libav not found on computer.  No RTSP support");
    return -1;
#endif /* End #ifdef HAVE_FFMPEG */
}

 

Так стоит этим заморачиваться  или и ультра 2 с его двухядерным процессором не хватит для 1-2 камер 1080р?

37 минут назад, zyxmon сказал:

Можно же легко посмотреть, чтобы не гадать

https://github.com/Entware-for-kernel-3x/entware-packages-3x/blob/master/multimedia/motion/Makefile#L43

Значит надо собрать с поддержкой или есть другие варианты? И если пересобирать то можно, пожалуйста ссылку на описание как это делается?

И можно пересобрать в виртуалке, что бы не захламлять роутер пакетами для сборки. Я честно говоря и в линуксах ставил из исходников очень очень очень редко.

  • Thanks 1

Share this post


Link to post
Share on other sites
26 минут назад, ChaoticSerg сказал:

ссылку на описание как это делается?

http://forums.zyxmon.org/viewforum.php?f=8

и 

https://github.com/Entware-ng/Entware-ng/wiki/Compile-packages-from-sources

Инструкции для -ng и для -3x одинаковые (с точностью до ссылок).

29 минут назад, ChaoticSerg сказал:

И можно пересобрать в виртуалке, что бы не захламлять роутер пакетами для сборки.

Не можно, а нужно!

Share this post


Link to post
Share on other sites
1 минуту назад, zyxmon сказал:

http://forums.zyxmon.org/viewforum.php?f=8

и 

https://github.com/Entware-ng/Entware-ng/wiki/Compile-packages-from-sources

Инструкции для -ng и для -3x одинаковые (с точностью до ссылок).

Не можно, а нужно!

Большое спасибо. И еще, если можно. Я то соберу скорее всего, а вот другие может не смогут.

Только включение этой опции уже сильно грузит роутер? Если нет, то для простых пользователей может в репозитории

поменять на версию с поддержкой этой и может других выключенных опций?

  • Thanks 1

Share this post


Link to post
Share on other sites

Пакеты собираются с опциями из openwrt. Иначе возникает бардак. Гркузит или нет - вот и проверите.

Share this post


Link to post
Share on other sites

@ChaoticSerg приблизительный план действий такой. Все поставить, включая фиды, собрать toolchain и target, запустить `make package/motion/compile` и `make package/ffmpeg/compile`. Отредактировать Makefile для motion - увеличить PKG_RELEASE, убрать `--without-ffmpeg`, пописать DEPENDS.Снова собрать motion и проверить на роутере.

Share this post


Link to post
Share on other sites
Только что, zyxmon сказал:

@ChaoticSerg приблизительный план действий такой. Все поставить, включая фиды, собрать toolchain и target, запустить `make package/motion/compile` и `make package/ffmpeg/compile`. Отредактировать Makefile для motion - увеличить PKG_RELEASE, убрать `--without-ffmpeg`, пописать DEPENDS.Снова собрать motion и проверить на роутере.

Сначала качаю Debian 7. Он аж на 3 DVD и нет minimal. И из всего я понял только вторую половину :)

  • Thanks 1

Share this post


Link to post
Share on other sites
9 минут назад, ChaoticSerg сказал:

Он аж на 3 DVD и нет minimal.

Скачайте live с нужным оконным менеджером и поставьте с него. Лучше 8 debian. Minimal (net install) есть для всех выпусков.

Share this post


Link to post
Share on other sites
1 минуту назад, zyxmon сказал:

Скачайте live с нужным оконным менеджером и поставьте с него. Лучше 8 debian. Minimal (net install) есть для всех выпусков.

Просто написано 

Цитата

Отмечу, что под Debian 6 некоторые пакеты могут быть собраны не до конца корректно (пример: ca_certificates).
При компиляции некоторых прошивок скриптам сборки может "не понравится" новая версия make 4.0 в Debian 8 (прошивки V1 от ZyXEL).

Мало-ли потом разойдусь и это будет критично :)

Спасибо, тогда возьму Debian 8 с MATE Live.

  • Thanks 1

Share this post


Link to post
Share on other sites

<Offtopic start>

1 минуту назад, ChaoticSerg сказал:

озьму Debian 8 с MATE Live.

Недавно полетел hdd и переставлял все. Ставил имеено это :grin:

<Offtopic end>

Share this post


Link to post
Share on other sites

@ChaoticSerg , вот Вам ещё "на почитать" с этого форума и с этого же раздела:

 

Share this post


Link to post
Share on other sites
29 минут назад, TheBB сказал:

@ChaoticSerg , вот Вам ещё "на почитать" с этого форума и с этого же раздела:

 

Спасибо. Теперь и про фидер начинает в мозгу складываться. Вечером беру что-нибудь и буду пробовать.

Share this post


Link to post
Share on other sites

@zyxmon @TheBB Спасибо, вот получился файл для проверки. Только я не предполагал, что это столько ресурсов требует :) Создал простенькую виртуалку -2 ядра 2 гига и диск на 8. Кто-же знал что вся эта котовасия 7 гигов займет...

motion_3.4.0-3b_mipsel-3x.ipk

  • Thanks 2

Share this post


Link to post
Share on other sites

так и проверяйте, у меня IP-камер нет. :)

Share this post


Link to post
Share on other sites
1 минуту назад, TheBB сказал:

так и проверяйте, у меня IP-камер нет. :)

Проверил. Ситуация не изменилась.

  • Thanks 1

Share this post


Link to post
Share on other sites
10 минут назад, ChaoticSerg сказал:

Проверил. Ситуация не изменилась.

А с чего Вы взяли, что собранная Вами версия использует ffmpeg. Сравните `ldd /opt/bin/motion` для версии из репы и Вашей. (Предварительно поставьте `opkg install ldd`!

 

Share this post


Link to post
Share on other sites
5 минут назад, zyxmon сказал:

А с чего Вы взяли, что собранная Вами версия использует ffmpeg. Сравните `ldd /opt/bin/motion` для версии из репы и Вашей. (Предварительно поставьте `opkg install ldd`!

 

 ldd /opt/bin/motion /opt/tmp/motion
/opt/bin/motion:
        libm.so.6 => /opt/lib/libm.so.6 (0x776c3000)
        libpthread.so.0 => /opt/lib/libpthread.so.0 (0x77695000)
        libjpeg.so.9 => /opt/lib/libjpeg.so.9 (0x7764f000)
        libgcc_s.so.1 => /opt/lib/libgcc_s.so.1 (0x77629000)
        libc.so.6 => /opt/lib/libc.so.6 (0x774a4000)
        /opt/lib/ld.so.1 (0x777c3000)
/opt/tmp/motion:
        libm.so.6 => /opt/lib/libm.so.6 (0x778cd000)
        libpthread.so.0 => /opt/lib/libpthread.so.0 (0x7789f000)
        libjpeg.so.9 => /opt/lib/libjpeg.so.9 (0x77859000)
        libgcc_s.so.1 => /opt/lib/libgcc_s.so.1 (0x77833000)
        libc.so.6 => /opt/lib/libc.so.6 (0x776ae000)
        /opt/lib/ld.so.1 (0x779cd000)

Может я свой пакет неправильно поставил я по RHELовской привычке ставил opkg install /opt/tmp/motion_3.4.0-3b_mipsel-3x.ipk

Share this post


Link to post
Share on other sites

@ChaoticSerg , от Вам "заготовка", пилите, обтачивайте, шлифуйте... Makefile , патч к ней 600-fix.patch

бинарник motion_3.4.0-20141018-9479d910f2149b5558788bb86f97f26522794212-3b_mipsel-3x.ipk

на выходе получаем

~ # ldd /opt/bin/motion 
	libm.so.6 => /opt/lib/libm.so.6 (0x77dcc000)
	libpthread.so.0 => /opt/lib/libpthread.so.0 (0x77d9e000)
	libjpeg.so.9 => /opt/lib/libjpeg.so.9 (0x77d58000)
	libavformat.so.57 => /opt/lib/libavformat.so.57 (0x77b6e000)
	libswscale.so.4 => /opt/lib/libswscale.so.4 (0x77af2000)
	libavcodec.so.57 => /opt/lib/libavcodec.so.57 (0x76c7c000)
	libavutil.so.55 => /opt/lib/libavutil.so.55 (0x76c18000)
	libswresample.so.2 => /opt/lib/libswresample.so.2 (0x76bf0000)
	libopus.so.0 => /opt/lib/libopus.so.0 (0x76b92000)
	libz.so.1 => /opt/lib/libz.so.1 (0x76b6c000)
	libx264.so.148 => /opt/lib/libx264.so.148 (0x769ea000)
	libmp3lame.so.0 => /opt/lib/libmp3lame.so.0 (0x7695a000)
	libbz2.so.1.0 => /opt/lib/libbz2.so.1.0 (0x76948000)
	libvorbisenc.so.2 => /opt/lib/libvorbisenc.so.2 (0x768b4000)
	libvorbis.so.0 => /opt/lib/libvorbis.so.0 (0x76870000)
	libtheoraenc.so.1 => /opt/lib/libtheoraenc.so.1 (0x76826000)
	libtheoradec.so.1 => /opt/lib/libtheoradec.so.1 (0x767fe000)
	libgcc_s.so.1 => /opt/lib/libgcc_s.so.1 (0x767d8000)
	libc.so.6 => /opt/lib/libc.so.6 (0x76652000)
	/opt/lib/ld.so.1 (0x77ecc000)
	libdl.so.2 => /opt/lib/libdl.so.2 (0x7663e000)
	libogg.so.0 => /opt/lib/libogg.so.0 (0x76628000)

как уже писал - проверять нечем. от того и имеем "... No such..."

~ # motion -n
[0] [NTC] [ALL] conf_load: Processing thread 0 - config file /opt/etc/motion/motion.conf
[0] [NTC] [ALL] motion_startup: Motion 3.4.0-Git-78ba2da Started
[0] [NTC] [ALL] motion_startup: Logging to syslog
[0] [NTC] [ALL] motion_startup: Using log type (ALL) log level (NTC)
[0] [NTC] [ENC] ffmpeg_init: ffmpeg LIBAVCODEC_BUILD 3752037 LIBAVFORMAT_BUILD 3749989
[0] [NTC] [ALL] main: Thread 1 is from /opt/etc/motion/motion.conf
[0] [NTC] [ALL] main: Thread 1 is device: /dev/video0 input -1
[0] [NTC] [ALL] main: Stream port 8081
[0] [NTC] [ALL] main: Waiting for threads to finish, pid: 21940
[1] [NTC] [ALL] motion_init: Thread 1 started , motion detection Enabled
[1] [NTC] [VID] vid_v4lx_start: Using videodevice /dev/video0 and input -1
[1] [ALR] [VID] vid_v4lx_start: Failed to open video device /dev/video0: No such file or directory
[1] [WRN] [ALL] motion_init: Could not fetch initial image from camera Motion continues using width and height from config file(s)
[0] [NTC] [STR] httpd_run: motion-httpd testing : IPV4 addr: 127.0.0.1 port: 8080
[1] [NTC] [ALL] image_ring_resize: Resizing pre_capture buffer to 1 items
[1] [NTC] [STR] http_bindsock: motion-stream testing : IPV4 addr: 127.0.0.1 port: 8081
[0] [NTC] [STR] httpd_run: motion-httpd Bound : IPV4 addr: 127.0.0.1 port: 8080
[0] [NTC] [STR] httpd_run: motion-httpd/3.4.0-Git-78ba2da running, accepting connections
[0] [NTC] [STR] httpd_run: motion-httpd: waiting for data on 127.0.0.1 port TCP 8080
[1] [NTC] [STR] http_bindsock: motion-stream Bound : IPV4 addr: 127.0.0.1 port: 8081
[1] [NTC] [ALL] motion_init: Started motion-stream server in port 8081 auth Disabled
[1] [WRN] [ALL] motion_loop: Retrying until successful connection with camera
[1] [NTC] [VID] vid_v4lx_start: Using videodevice /dev/video0 and input -1
[1] [ALR] [VID] vid_v4lx_start: Failed to open video device /dev/video0: No such file or directory
[1] [WRN] [ALL] motion_loop: Retrying until successful connection with camera
[1] [NTC] [VID] vid_v4lx_start: Using videodevice /dev/video0 and input -1
[1] [ALR] [VID] vid_v4lx_start: Failed to open video device /dev/video0: No such file or directory
[1] [WRN] [ALL] motion_loop: Retrying until successful connection with camera
...

 

Share this post


Link to post
Share on other sites
47 минут назад, TheBB сказал:

@ChaoticSerg , от Вам "заготовка", пилите, обтачивайте, шлифуйте... Makefile , патч к ней 600-fix.patch

бинарник motion_3.4.0-20141018-9479d910f2149b5558788bb86f97f26522794212-3b_mipsel-3x.ipk

Спасибо это работает, но только со вторым потоком, а 1080p загружает проц на 50% и вылетает без записи в лог.

Да и еще ругается что 1080 не делится на 16. 

 

  • Thanks 1

Share this post


Link to post
Share on other sites

дальше уж сами, у меня своих квестов полно. strace - в помощь. :)

Share this post


Link to post
Share on other sites
Только что, TheBB сказал:

дальше уж сами, у меня своих квестов полно. strace - в помощь. :)

Да спасибо и так уже рабочий вариант есть, но видимо FullHD не тянет даже мой. Может у кого 720P, у того и будет работать.

  • Thanks 1

Share this post


Link to post
Share on other sites
3 часа назад, ChaoticSerg сказал:

Да спасибо и так уже рабочий вариант есть, но видимо FullHD не тянет даже мой. Может у кого 720P, у того и будет работать.

Зачем ставить эксперименты на заведомо проигрышной системе? Роутер конечно можно научить кодировать видео, если процессор справится, есть нынче и такие, но лучше купите камеру, которая сама умеет гнать видео поток по ip. Если ваша камера умеет напрямую MJPEG выдавать, то зачем вам ffmpeg? Смотрите прямо MJPEG и будет вам FullHD без напряга на процессор роутера, вам его только нужно по http или rtsp прикрутить, не знаю как для этого походит motion, но mjpg-streamer с этим отлично справляется....

 

16 часов назад, zyxmon сказал:

Можно же легко посмотреть, чтобы не гадать

https://github.com/Entware-for-kernel-3x/entware-packages-3x/blob/master/multimedia/motion/Makefile#L43

Ну что под руку быстро попало, туда и глянул, но в принципе считаю правильным, что собирается без.... 

Share this post


Link to post
Share on other sites
7 часов назад, McMCC сказал:

Зачем ставить эксперименты на заведомо проигрышной системе? Роутер конечно можно научить кодировать видео, если процессор справится, есть нынче и такие, но лучше купите камеру, которая сама умеет гнать видео поток по ip. Если ваша камера умеет напрямую MJPEG выдавать, то зачем вам ffmpeg? Смотрите прямо MJPEG и будет вам FullHD без напряга на процессор роутера, вам его только нужно по http или rtsp прикрутить, не знаю как для этого походит motion, но mjpg-streamer с этим отлично справляется...

Ну камеры разные у меня бывают. Сейчас с эти справляется iDVR без напрягов. И, я уверен, проц у него гораздо слабее. Видимо motion действительно не правильный вариант. Просто это первое что выдал Гугл. Он у меня и со второй камерой (960p) не захотел работать, что-то в заголовках не понравилось. Я, пока, всего-то хочу заменить DVR, а то нет на него надежды. Под винду естьпрога - CMS она со всеми камерами работает, как я понял по ONIF и порт 34567. 

  • Thanks 1

Share this post


Link to post
Share on other sites

Люди добрые! Не может ли кто-нибудь собрать мне motion с ffmpeg под kn-1010, enware mipsel-3.4? 

Буду очень благодарен... 

Share this post


Link to post
Share on other sites

Поставил виртуалку с debian 10, собрал, сборка инсталлится,

но не запускается, не видит либу:

 

Screenshot_20200614_145217_com.sonelli.juicessh.jpg

Edited by Batalay
error

Share this post


Link to post
Share on other sites
12 минуты назад, Batalay сказал:

но не запускается, не видит либу:

берите за основу и правьте

 

Share this post


Link to post
Share on other sites

По вашим мануалам и ваял, спасибо вам за советы. 

В лине - 0, поэтому медленно вникаю.  Так понимаю, что это все библиотеки пакета ffmpeg. 

И собраный motion, требует новые версии этих либ. 

Подкинул пересобраный ffmpeg - не помогло, либы не обновились... 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...