Приветсвую уважаемое сообщество,
Появилась необходимость воспроизвести видео на форме.
Воспроизвести нужно RTSP поток. Проблем с воспроизведением через всякие плееры нет, но это не подходит по нескольким причинам.
Нужно вывести изображения с нескольких IP камер.
Сейчас это реализовано при помощи motion, но есть проблемка: при одновременном просмотре потока и записи (которая обязательна) наблюдаются задержка. То есть то что происходит перед камерой в реальном времени, на экране появляется спустя некоторое время, доходит до 30 секунд задержки. Просмотр видео с камер через браузер.
Если камер до 4 то задержка минимальна и приемлема, но если камер больше - задержка больше. При отключении записи - задержка уменьшается. Но запись нужна.
А так как браузер не умеет показывать RTSP напрямую, вот решил при помощи лазаруса написать софтину, которая будет показывать поток, а ffmpeg писать на диск.
Тестировал на 5 камерах при помощи VLC, вроде нормально работает - vlc показывает, motion пишет...
Накатил компонент paslibvlc, вроде неплохо справляется, но требует библиотеки VLC, а это не есть хорошо, ибо таскать с собой, либо ставить в систему плеер.
Но так как везде установлен motion, который за собой тянет ffmpeg, ffplaer решил переписать приложение, но вот к сожалению не нашел компонента ffplaer на просторах инета.
Может кто подскажет, как вывести видео в лазарусе использую ffplayer?
Все работает под gentoo
lazarus & ffplay
Модератор: Модераторы
- Снег Север
- долгожитель
- Сообщения: 3067
- Зарегистрирован: 27.11.2007 15:14:47
- Контактная информация:
Снег Север писал(а):https://github.com/DelphiForBroadcasting/ffmpeg-delphi
не подойдет?
Смотрел я ее, под Дельфи..
Попробуй это вариант (это так сказать "исходная точка" моего недо-мега-проекта "цифровая оптика"
)
Laz_kamera_pol_izobr.7z
Или все-же лучше возьми чуть модифицированную версию ... (Но она тоже из серии "проще не бывает" )
Truba_DS_0_001.7z
Зы
Извиняюсь за невнимательность!
Мои поделки работают с обычными Веб камерами а не с потоковым видео RTSP из интернета.
(Лучшее что умеют более поздние версии "подзорной трубы" это "сетевое" покадровое чтение jpg-ов по html протоколу )
Но вдруг все-же пригодятся...
Потому что существуют вот такие приблуды
1 Плагин для виртуальной web-камеры:
http://vlc2vcam.com/download.html
2 VCam - полноценный эмулятор веб-камеры
https://www.softportal.com/get-24201-vcam.html
и т.д.
https://altercam.com/rus/virtual-webcam.html
Laz_kamera_pol_izobr.7z
Или все-же лучше возьми чуть модифицированную версию ... (Но она тоже из серии "проще не бывает" )
Truba_DS_0_001.7z
Зы
Извиняюсь за невнимательность!
(Лучшее что умеют более поздние версии "подзорной трубы" это "сетевое" покадровое чтение jpg-ов по html протоколу )
Но вдруг все-же пригодятся...
Потому что существуют вот такие приблуды
1 Плагин для виртуальной web-камеры:
http://vlc2vcam.com/download.html
2 VCam - полноценный эмулятор веб-камеры
https://www.softportal.com/get-24201-vcam.html
и т.д.
https://altercam.com/rus/virtual-webcam.html
Не уверен, что поможет, но на чистом v4l можно получать кадры видеопотока с помощью моего проекта: http://rubirobot.ru/webcam/
Он, правда, для лего-роботов изначально разработан, там особо не разгонишся с тяжелой обработкой, поэтому на входе только YUYV-формат, его вроде как большинство камер поддерживают. Никаких внешних библиотек не требует. А там уж с полученными кадрами чего хочешь, то и делаешь.
Если камера IP, то можно создать виртуальную камеру v4l (проекта v4loopback). Но сам этого не пробовал.
Он, правда, для лего-роботов изначально разработан, там особо не разгонишся с тяжелой обработкой, поэтому на входе только YUYV-формат, его вроде как большинство камер поддерживают. Никаких внешних библиотек не требует. А там уж с полученными кадрами чего хочешь, то и делаешь.
Если камера IP, то можно создать виртуальную камеру v4l (проекта v4loopback). Но сам этого не пробовал.
Зачем, не проще ли поработать с самой библиотекой напрямую?arriah писал(а):Может кто подскажет, как вывести видео в лазарусе использую ffplayer?
olegy123 писал(а):Зачем, не проще ли поработать с самой библиотекой напрямую?
Да, это было бы лучше, но чего-то вменяемой документации не нашел.
Если есть пример кода, поделись
FFmpeg любят ломать зависимости, сами разработчики внутри переругались, в итоге есть два продукта Libav и ffmpeg. Первые хотели ориентироваться на аппаратных производителей. Вторые плевать хотели, все новое тащили в код.
Поэтому если есть перевод .h в .pas то как правило под ffmpeg и под старые либлы.
Поэтому если есть перевод .h в .pas то как правило под ffmpeg и под старые либлы.
а что нужно? я делал оберку .so для сводил все в вызове несколько функций.arriah писал(а):Если есть пример кода, поделись
