Здравствуйте.
Я пишу программу для получения от камеры потокового видео и его воспроизведение. Камера не имеет ни WDM драйвера, ни DirectShow Capture фильтра. Данные передаются по протоколу rtsp. Формат сжатия h.264. Поток данных я получил. Но вот воспроизвести его пока неудается. Я хотел использовать для этой цели DirectShow, но не знаю как передать полученный поток в граф. Помогите, пожалуйста, разобраться как воспроизвести видео. Использование DirectShow не является обязательным требованием. Если подскажете как использовать DirectShow или др способ решения задачи - буду очень благодарен.
Буду рад любой помощи!!!!
Заранее спасибо.
Потоковое видео
Модераторы: Duncon, Hawk, Romeo, Eugie
поищи в гугле "directshow rtsp source filter" их там уйма. На виндах проще DirectShow использовать, но в любом случае это не просто и напильником придется допиливать и понимать как это работает.
-
- Сообщения: 5
- Зарегистрирован: 25 янв 2011, 14:38
Я их искал (может быть недостаточно хорошо искал) но пока ничего что работает не нашел. Если можно ткните носом в какой нибудь!поищи в гугле "directshow rtsp source filter" их там уйма. На виндах проще DirectShow использовать, но в любом случае это не просто и напильником придется допиливать и понимать как это работает.
Но спасибо! Я , конечно, еще поищу!
Самое простое - это использовать программные компоненты, которые идут вместе с самой камерой. Дело в том, что у каждой фирмы-производителя свой формат передачи потока видео- и аудиосигнала по сети. Общими у них являются лишь сетевые протоколы(http, rtsp и др.), а так же алгоритмы сжатия видео (MJPEG, MPEG-4/h.264) и аудио (G711, G727 и др.)
Обычно с каждой камерой идёт свой фирменный ActiveX-компонент, который отображает поток видео в реальном времени. Так же могут прилагаться дополнительные компоненты для управления самой камерой по сети.
Обычно с каждой камерой идёт свой фирменный ActiveX-компонент, который отображает поток видео в реальном времени. Так же могут прилагаться дополнительные компоненты для управления самой камерой по сети.
-
- Сообщения: 5
- Зарегистрирован: 25 янв 2011, 14:38
WinMain писал(а):Самое простое - это использовать программные компоненты, которые идут вместе с самой камерой. Дело в том, что у каждой фирмы-производителя свой формат передачи потока видео- и аудиосигнала по сети. Общими у них являются лишь сетевые протоколы(http, rtsp и др.), а так же алгоритмы сжатия видео (MJPEG, MPEG-4/h.264) и аудио (G711, G727 и др.)
Обычно с каждой камерой идёт свой фирменный ActiveX-компонент, который отображает поток видео в реальном времени. Так же могут прилагаться дополнительные компоненты для управления самой камерой по сети.
ActiveX конечно есть, но он не подходит по функциональности. А формат потока скорее всего соответствует стандарту (покрайней мере vlc плеер его воспроизводит, но его (плеера) функциональности тоже не хватает). Поэтому изобретаем свой плеер ))
rtsp поток можно забрать при помощи библиотеки live555, её же использует vlc. Но она НЕ direct show в результате будет много гемороя с декодированием, синхронизацией и выводом на экран.
Протокол RTSP это стандарт передачи и контейнер и кодеки тоже стандарт. Этого полностью достаточно чтобы проиграть видео. Не понятно какой ещё "свой формат" передачи у производителей камер?WinMain писал(а):Дело в том, что у каждой фирмы-производителя свой формат передачи потока видео- и аудиосигнала по сети. Общими у них являются лишь сетевые протоколы(http, rtsp и др.), а так же алгоритмы сжатия видео (MJPEG, MPEG-4/h.264) и аудио (G711, G727 и др.)
Вот как описан формат потока видео и аудио для одной из моделей IP-камер Sony...
http://www.theimagingsourceforums.com/a ... 1155741815
Не знаю, является ли это стандартом для всех камер, просто в описаниях на другие камеры указаны лишь CGI-команды для работы с этими камерами. Описание формата видеопотока приводится далеко не везде.
http://www.theimagingsourceforums.com/a ... 1155741815
Не знаю, является ли это стандартом для всех камер, просто в описаниях на другие камеры указаны лишь CGI-команды для работы с этими камерами. Описание формата видеопотока приводится далеко не везде.
Поумнеть несложно, куда труднее от дури избавиться.
Да у этой Sony действительно свой протокол придуман. Но user241036 утверждал что его камера по RTSP передает да и VLC играет этот поток с камеры - значит никаких особенностей там нет. Надо стандартный RTSP подключить в качестве Source Filter.
Я думаю что реализации такого фильтра всетаки должны быть, по тому как случай достаточно распространенный. Но искать, обрабатывать напильником и пробовать - это уж пытайтесь сами, тут врятли кто-то вам поможет, разве что то кто сам делал подобное.
Я думаю что реализации такого фильтра всетаки должны быть, по тому как случай достаточно распространенный. Но искать, обрабатывать напильником и пробовать - это уж пытайтесь сами, тут врятли кто-то вам поможет, разве что то кто сам делал подобное.
Если кому интересно будет, вот документация по программированию сетевой камеры ACTi с примерами на С/С++ и описанием форматов потока данных...
http://actiftp.hosting4less.com/ACTIGEN ... e-v1.2.pdf
http://actiftp.hosting4less.com/ACTIGEN ... e-v1.2.pdf