Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Motion + ffmpeg + rtsp с IP-камеры без перекодирования  (Прочитано 11948 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн triony

  • Автор темы
  • Новичок
  • *
  • Сообщений: 23
    • Просмотр профиля
Всех приветствую.

Есть IP камера (1920x1080) и она выдаёт rtsp-поток в формате H.264. Поток с камеры записанный в винде с помощью штатной утилиты достаточно качественный и претензий к нему нету (утилита видимо пишет поток без перекодирования). В Ubuntu хочу сделать систему видеонаблюдения с этой камерой, чтобы запись видео шла только по факту детектирования движения. Думаю использовать Motion. Собрал его (https://github.com/Ken-M/motion) с поддержкой rtsp и ffmpeg, настроил на детектирование движения и запись. Однако качество видео на выходе существенно хуже записанного штатной утилитой в винде. То есть Motion перекодировывает весь поток.
Вопрос: как заставить Motion по детектированию движения писать поток на жесткий диск без перекодировки?
Если кто-нибудь решал такую задачу, то прошу поделиться своим опытом.

Оффлайн DjSpike

  • Активист
  • *
  • Сообщений: 311
    • Просмотр профиля
Re: Motion + ffmpeg + rtsp с IP-камеры без перекодирования
« Ответ #1 : 30 Августа 2015, 08:43:50 »
поставь avreg.  очень удобная вещь и куча настроек.
AvReg  - Видеонаблюдение под Linux.
ДЭНСИ:КАССА -  Рабочее место кассира под Linux.
rx@etersoft  - Сервер терминалов под Linux...

Оффлайн Peter_I

  • Старожил
  • *
  • Сообщений: 3032
    • Просмотр профиля
Re: Motion + ffmpeg + rtsp с IP-камеры без перекодирования
« Ответ #2 : 30 Августа 2015, 09:07:03 »
У самой камеры может быть интерфейс управления и тогда ей можно при соединении
дать команду посылать mjpeg.
Пётр.

Оффлайн triony

  • Автор темы
  • Новичок
  • *
  • Сообщений: 23
    • Просмотр профиля
Re: Motion + ffmpeg + rtsp с IP-камеры без перекодирования
« Ответ #3 : 01 Сентября 2015, 22:05:24 »
поставь avreg.  очень удобная вещь и куча настроек.
Попробовал. Похоже что вещь действительно удобная и вполне работоспособная. Спасибо за рекомендацию, поскольку о существовании такой проги я не знал. Насколько я понял исходников программы в свободном доступе нету, поскольку проект коммерческий. Пакеты вроде только для систем x86 (возможно я ошибаюсь). А у меня основная цель поднять видеонаблюдение на Cubuetruck'е.
Пока удалось добиться записи оригинального (без перекодирования) потока с камеры по факту детектирования движения. Однако после прекращения движения прога продолжает писать видео, и как это остановить я пока не знаю.
Буду разбираться.

Пользователь решил продолжить мысль [time]01 Сентябрь 2015, 23:13:50[/time]:
У самой камеры может быть интерфейс управления и тогда ей можно при соединении
дать команду посылать mjpeg.

Интерфейс управления у камеры есть, но потоков mjpeg к сожалению нету. Только 2 потока rtsp h.264 - основной и дополнительный.
Выяснил что вопрос можно решить посредством openRTSP. Суть в следующем посте.

Пользователь решил продолжить мысль 01 Сентября 2015, 22:28:05:
В общем понял, что пытаться записать поток без перекодирования средствами Motion бессмысленно. Нужно использовать openRTSP. По факту детектирования движения нужно запустить запись командой openRTSP -b 900000 -V -v -4 -w 1920 -h 1080 -f 25 "rtsp://192.168.11.123/0" > video.avi, а по завершении события дать команду на завершение процесса openRTSP - что-то типа kill -HUP 1540. Нужны 2 скрипта: первый запустит openRTSP и запомнит его PID, второй должен получить PID и произвести остановку процесса.

Прошу помощи в написании скриптов.
« Последнее редактирование: 01 Сентября 2015, 22:28:05 от triony »

Оффлайн naghtigall

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
поставь avreg.  очень удобная вещь и куча настроек.
Попробовал. Похоже что вещь действительно удобная и вполне работоспособная. Спасибо за рекомендацию, поскольку о существовании такой проги я не знал. Насколько я понял исходников программы в свободном доступе нету, поскольку проект коммерческий. Пакеты вроде только для систем x86 (возможно я ошибаюсь). А у меня основная цель поднять видеонаблюдение на Cubuetruck'е.
Пока удалось добиться записи оригинального (без перекодирования) потока с камеры по факту детектирования движения. Однако после прекращения движения прога продолжает писать видео, и как это остановить я пока не знаю.
Буду разбираться.

Пользователь решил продолжить мысль [time]01 Сентябрь 2015, 23:13:50[/time]:
У самой камеры может быть интерфейс управления и тогда ей можно при соединении
дать команду посылать mjpeg.

Интерфейс управления у камеры есть, но потоков mjpeg к сожалению нету. Только 2 потока rtsp h.264 - основной и дополнительный.
Выяснил что вопрос можно решить посредством openRTSP. Суть в следующем посте.

Пользователь решил продолжить мысль [time]01 Сентябрь 2015, 23:28:05[/time]:
В общем понял, что пытаться записать поток без перекодирования средствами Motion бессмысленно. Нужно использовать openRTSP. По факту детектирования движения нужно запустить запись командой openRTSP -b 900000 -V -v -4 -w 1920 -h 1080 -f 25 "rtsp://192.168.11.123/0" > video.avi, а по завершении события дать команду на завершение процесса openRTSP - что-то типа kill -HUP 1540. Нужны 2 скрипта: первый запустит openRTSP и запомнит его PID, второй должен получить PID и произвести остановку процесса.

Прошу помощи в написании скриптов.
Потому что запись еще идет 120 сек после прекращения движения в кадре.

Оффлайн tdimons

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Хорошая тема, жалко что она без ответа.
Решусь продолжить. Может кому и пригодиться.
Лично мне очень понравилась идея задействовать детектор движения камеры, а видео писать командой openRTSP.
По идее все должно быть очень просто!
Так как текста и пояснений много, то лучше все почитать на блоге: https://ip-camera-rtsp.blogspot.com
Надеюсь кому-нибудь помог.

 

Страница сгенерирована за 0.049 секунд. Запросов: 25.