daenur 2 Жалоба Опубликовано January 9, 2013 Доброго времени суток. Возник вопрос с видео потоком, который берется с видео сервера MOXA VPort351. Я получаю видео следующим образом: "capture = cvCreateFileCapture( "rtsp://192.168.127.100:554/moxa-cgi/udpstream_ch1_stream1");". Задержка видео составляет 3 секунды, от реального времени. По данному вопросу никакой информации не нашел. Может кто сталкивался с таким вопросом. Подскажите как убрать задержку видео. Заранее спасибо. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано January 9, 2013 Попробуйте повещать с какого либо другого места, например при помощи Wirecast. Если задержки не будет, то тормоза на сервере. Если нет, то это огрехи FFMPEG, можно попробовать захватывать захватывать видео при помощи дугой библиотеки. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
daenur 2 Жалоба Опубликовано January 10, 2013 Попробуйте повещать с какого либо другого места, например при помощи Wirecast. Если задержки не будет, то тормоза на сервере. Если нет, то это огрехи FFMPEG, можно попробовать захватывать захватывать видео при помощи дугой библиотеки. Я делал захват видео при помощи библиотеки gstreamer.Там задержку я устранил. Появилась задача распознавания и сопровождения объектов на видео. Для gstreamer не нашел ничего связанного с этой темой. Поэтому и начал разбираться с OpenCv. Может есть еще какие нибудь библиотеки позволяющие осуществлять захват и сопровождение? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано January 10, 2013 Универсального решения нет, но можно начать со связки: BGSLibrary + cvBlob. Ну и тут почитать: http://www.compvision.ru/forum/index.php?showtopic=63 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
iskees 32 Жалоба Опубликовано January 12, 2013 Можно как костыль использовать vlc. Vlc считывает нужный поток если нужно перекодирует и направляет его в другой поток с которого уже OpenCV и считывает без проблем. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
daenur 2 Жалоба Опубликовано January 14, 2013 Можно как костыль использовать vlc. Vlc считывает нужный поток если нужно перекодирует и направляет его в другой поток с которого уже OpenCV и считывает без проблем. Можешь подсказать где можно почитать как это правильно сделать. Ни разу не делал просто. заранее спасибо! Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
iskees 32 Жалоба Опубликовано January 14, 2013 Самый просто способ это запустить сам vcl плеер с параметрами командной строки и он будет ретранслировать. А можно использовать библиотеку LibVLC, я пишу на C# и использую врапер но принцип должен быть один. IMediaPlayerFactory factory = new MediaPlayerFactory(); media = factory.CreateMedia<IMedia>(ip, ":sout=#http{mux=avi,dst=:8561/} "); player = factory.CreatePlayer<IVideoPlayer>(); player.Open(media); player.Play(); данный кусочек берет поток по адресу ip и перенаправляет его в новой поток http. Собственно он нужен для перевода потока из rtsp в http. 1 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
daenur 2 Жалоба Опубликовано January 15, 2013 Самый просто способ это запустить сам vcl плеер с параметрами командной строки и он будет ретранслировать. А можно использовать библиотеку LibVLC, я пишу на C# и использую врапер но принцип должен быть один. IMediaPlayerFactory factory = new MediaPlayerFactory(); media = factory.CreateMedia<IMedia>(ip, ":sout=#http{mux=avi,dst=:8561/} "); player = factory.CreatePlayer<IVideoPlayer>(); player.Open(media); player.Play(); данный кусочек берет поток по адресу ip и перенаправляет его в новой поток http. Собственно он нужен для перевода потока из rtsp в http. спасибо. буду разбираться. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
daenur 2 Жалоба Опубликовано January 16, 2013 Самый просто способ это запустить сам vcl плеер с параметрами командной строки и он будет ретранслировать. Добрый день. у меня получилось запустить vlc плеер с командной строки "vlc -vvv rtsp://192.168.127.100:554/moxa-cgi/udpstream_ch1_stream1 :rtsp-caching=100". Но передать видео дальше в OpenCv не получается. Подскажите как это правильно сделать? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
daenur 2 Жалоба Опубликовано January 23, 2013 Добрый день. получилось разобраться с задержкой. переустановил ubuntu и opencv. 1 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах