Потоковое видео

Общие вопросы, не зависящие от языка реализации.

Модераторы: Duncon, Hawk, Romeo, Eugie

user241036
Сообщения: 5
Зарегистрирован: 25 янв 2011, 14:38

25 янв 2011, 14:42

Здравствуйте.

Я пишу программу для получения от камеры потокового видео и его воспроизведение. Камера не имеет ни WDM драйвера, ни DirectShow Capture фильтра. Данные передаются по протоколу rtsp. Формат сжатия h.264. Поток данных я получил. Но вот воспроизвести его пока неудается. Я хотел использовать для этой цели DirectShow, но не знаю как передать полученный поток в граф. Помогите, пожалуйста, разобраться как воспроизвести видео. Использование DirectShow не является обязательным требованием. Если подскажете как использовать DirectShow или др способ решения задачи - буду очень благодарен.

Буду рад любой помощи!!!!

Заранее спасибо.
Hawk
Сообщения: 215
Зарегистрирован: 17 фев 2004, 14:52
Откуда: СПб
Контактная информация:

25 янв 2011, 16:23

поищи в гугле "directshow rtsp source filter" их там уйма. На виндах проще DirectShow использовать, но в любом случае это не просто и напильником придется допиливать и понимать как это работает.
user241036
Сообщения: 5
Зарегистрирован: 25 янв 2011, 14:38

25 янв 2011, 17:13

поищи в гугле "directshow rtsp source filter" их там уйма. На виндах проще DirectShow использовать, но в любом случае это не просто и напильником придется допиливать и понимать как это работает.
Я их искал (может быть недостаточно хорошо искал) но пока ничего что работает не нашел. Если можно ткните носом в какой нибудь!

Но спасибо! Я , конечно, еще поищу!
Аватара пользователя
WinMain
Сообщения: 913
Зарегистрирован: 14 янв 2005, 10:30
Откуда: Москва
Контактная информация:

25 янв 2011, 22:43

Самое простое - это использовать программные компоненты, которые идут вместе с самой камерой. Дело в том, что у каждой фирмы-производителя свой формат передачи потока видео- и аудиосигнала по сети. Общими у них являются лишь сетевые протоколы(http, rtsp и др.), а так же алгоритмы сжатия видео (MJPEG, MPEG-4/h.264) и аудио (G711, G727 и др.)
Обычно с каждой камерой идёт свой фирменный ActiveX-компонент, который отображает поток видео в реальном времени. Так же могут прилагаться дополнительные компоненты для управления самой камерой по сети.
user241036
Сообщения: 5
Зарегистрирован: 25 янв 2011, 14:38

26 янв 2011, 08:48

WinMain писал(а):Самое простое - это использовать программные компоненты, которые идут вместе с самой камерой. Дело в том, что у каждой фирмы-производителя свой формат передачи потока видео- и аудиосигнала по сети. Общими у них являются лишь сетевые протоколы(http, rtsp и др.), а так же алгоритмы сжатия видео (MJPEG, MPEG-4/h.264) и аудио (G711, G727 и др.)
Обычно с каждой камерой идёт свой фирменный ActiveX-компонент, который отображает поток видео в реальном времени. Так же могут прилагаться дополнительные компоненты для управления самой камерой по сети.

ActiveX конечно есть, но он не подходит по функциональности. А формат потока скорее всего соответствует стандарту (покрайней мере vlc плеер его воспроизводит, но его (плеера) функциональности тоже не хватает). Поэтому изобретаем свой плеер ))
Hawk
Сообщения: 215
Зарегистрирован: 17 фев 2004, 14:52
Откуда: СПб
Контактная информация:

26 янв 2011, 15:42

rtsp поток можно забрать при помощи библиотеки live555, её же использует vlc. Но она НЕ direct show в результате будет много гемороя с декодированием, синхронизацией и выводом на экран.
WinMain писал(а):Дело в том, что у каждой фирмы-производителя свой формат передачи потока видео- и аудиосигнала по сети. Общими у них являются лишь сетевые протоколы(http, rtsp и др.), а так же алгоритмы сжатия видео (MJPEG, MPEG-4/h.264) и аудио (G711, G727 и др.)
Протокол RTSP это стандарт передачи и контейнер и кодеки тоже стандарт. Этого полностью достаточно чтобы проиграть видео. Не понятно какой ещё "свой формат" передачи у производителей камер?
Аватара пользователя
Decoder
Сообщения: 303
Зарегистрирован: 19 фев 2008, 23:11
Откуда: Moscow

26 янв 2011, 16:51

Вот как описан формат потока видео и аудио для одной из моделей IP-камер Sony...
http://www.theimagingsourceforums.com/a ... 1155741815

Не знаю, является ли это стандартом для всех камер, просто в описаниях на другие камеры указаны лишь CGI-команды для работы с этими камерами. Описание формата видеопотока приводится далеко не везде.
Поумнеть несложно, куда труднее от дури избавиться.
qwertyzx
Сообщения: 0
Зарегистрирован: 28 янв 2011, 20:17

28 янв 2011, 22:22

Потоковое видео очень удобное!

_
worldIntercontinental
Hawk
Сообщения: 215
Зарегистрирован: 17 фев 2004, 14:52
Откуда: СПб
Контактная информация:

29 янв 2011, 16:49

Да у этой Sony действительно свой протокол придуман. Но user241036 утверждал что его камера по RTSP передает да и VLC играет этот поток с камеры - значит никаких особенностей там нет. Надо стандартный RTSP подключить в качестве Source Filter.

Я думаю что реализации такого фильтра всетаки должны быть, по тому как случай достаточно распространенный. Но искать, обрабатывать напильником и пробовать - это уж пытайтесь сами, тут врятли кто-то вам поможет, разве что то кто сам делал подобное.
Аватара пользователя
WinMain
Сообщения: 913
Зарегистрирован: 14 янв 2005, 10:30
Откуда: Москва
Контактная информация:

13 июл 2011, 13:57

Если кому интересно будет, вот документация по программированию сетевой камеры ACTi с примерами на С/С++ и описанием форматов потока данных...
http://actiftp.hosting4less.com/ACTIGEN ... e-v1.2.pdf
Ответить