Форум Beholder http://beholder.ru/bb/ | |
По тюнеру DVB T2 http://beholder.ru/bb/viewtopic.php?f=10&t=14365 |
Страница 1 из 5 |
Автор: | Tolyan249 [ 08 сен 2015, 09:51 ] |
Заголовок сообщения: | По тюнеру DVB T2 |
здравствуйте. Вопрос такой что есть поддержка в драйвере KSPROPERTY_BDA_PLP_NUMBER , в directshow 9 , я не нашел этого описания, как мне это использовать где можно найти пример. Спасибо. Пишу на delphi/ |
Автор: | BTVSoft [ 09 сен 2015, 15:21 ] |
Заголовок сообщения: | Re: По тюнеру DVB T2 |
Добрый день. Вам самому придется добавлять определение для KSPROPSETID_BdaDigitalDemodulator. Вот перечисляемый тип данного property set: Код: typedef enum { KSPROPERTY_BDA_MODULATION_TYPE = 0, KSPROPERTY_BDA_INNER_FEC_TYPE, KSPROPERTY_BDA_INNER_FEC_RATE, KSPROPERTY_BDA_OUTER_FEC_TYPE, KSPROPERTY_BDA_OUTER_FEC_RATE, KSPROPERTY_BDA_SYMBOL_RATE, KSPROPERTY_BDA_SPECTRAL_INVERSION, KSPROPERTY_BDA_GUARD_INTERVAL, KSPROPERTY_BDA_TRANSMISSION_MODE, KSPROPERTY_BDA_ROLL_OFF, KSPROPERTY_BDA_PILOT, KSPROPERTY_BDA_SIGNALTIMEOUTS, KSPROPERTY_BDA_PLP_NUMBER } KSPROPERTY_BDA_DIGITAL_DEMODULATOR; Параметр для KSPROPERTY_BDA_PLP_NUMBER размером sizeof(ULONG). При передаче put запроса параметр задает номер PLP от 0 до 254. При указании любого числа <= 0, драйвер переключится на авто режим выборки PLP, который задается микрокодом демодулятора. Этот режим используется по умолчанию при управлении через BDA интерфейсы. Драйвер принимает как get так и put вызовы. |
Автор: | Tolyan249 [ 09 сен 2015, 18:45 ] |
Заголовок сообщения: | Re: По тюнеру DVB T2 |
Спасибо огромное за разъяснения, и что ответили. буду пробовать если что отпишусь. |
Автор: | Tolyan249 [ 09 сен 2015, 18:58 ] |
Заголовок сообщения: | Re: По тюнеру DVB T2 |
Да Это описано в directshow 9 KSPROPSETID_BdaDigitalDemodulator : TGUID = '{EF30F379-985B-4d10-B640-A79D5E04E1E0}'; {$EXTERNALSYM KSPROPSETID_BdaDigitalDemodulator} type KSPROPERTY_BDA_DIGITAL_DEMODULATOR = ( KSPROPERTY_BDA_MODULATION_TYPE, KSPROPERTY_BDA_INNER_FEC_TYPE, KSPROPERTY_BDA_INNER_FEC_RATE, KSPROPERTY_BDA_OUTER_FEC_TYPE, KSPROPERTY_BDA_OUTER_FEC_RATE, KSPROPERTY_BDA_SYMBOL_RATE, KSPROPERTY_BDA_SPECTRAL_INVERSION, KSPROPERTY_BDA_GUARD_INTERVAL, KSPROPERTY_BDA_TRANSMISSION_MODE ); {$EXTERNALSYM KSPROPERTY_BDA_DIGITAL_DEMODULATOR} TKSPropertyBDADigitalDemodulator = KSPROPERTY_BDA_DIGITAL_DEMODULATOR; Просто добавить то что не хватает из вашего описания , и оставить тот же TGUID = '{EF30F379-985B-4d10-B640-A79D5E04E1E0}'; или нужен другой TGUID ? Спасибо. |
Автор: | BTVSoft [ 10 сен 2015, 14:44 ] |
Заголовок сообщения: | Re: По тюнеру DVB T2 |
Вам нужно добавить новые значения после KSPROPERTY_BDA_TRANSMISSION_MODE. Это перечисляемый тип. GUID тот же самый, только новые ID для KsProperty. |
Автор: | Tolyan249 [ 10 сен 2015, 15:09 ] |
Заголовок сообщения: | Re: По тюнеру DVB T2 |
Ясно понятно, Спасибо огромное за разъяснения. буду пробовать отпишусь,что получилось. |
Автор: | Tolyan249 [ 14 сен 2015, 12:10 ] |
Заголовок сообщения: | Re: По тюнеру DVB T2 |
Вопрос такой,можно ли получить с DVB T2 карты весь поток, что бы вывести все каналы разом? Если можно то как,указывать pid как c dvb s2,или как то по другому. Спасибо. |
Автор: | BTVSoft [ 15 сен 2015, 16:03 ] |
Заголовок сообщения: | Re: По тюнеру DVB T2 |
Вывести все каналы одновременно из всех DVB-T2 PLP в один общий TS поток невозможно. Т.е. каждая PLP выглядит как изолированная труба. Внутри каждой PLP все каналы идут в общем TS потоке, фильтруются программно по PID. Стандартная практика получения PID каждого канала основана на сканировании PAT/PMT/SDT таблиц из TS потока. У Microsoft есть готовые программные инструменты для сканирования TS в виде COM объектов, но все это сделано достаточно "топорно". ПО Beholder использует собственные инструменты для сканирования и демультиплексирования TS потока. |
Автор: | alex333 [ 16 сен 2015, 14:47 ] |
Заголовок сообщения: | Re: По тюнеру DVB T2 |
У нас в кабельном под прием 2 эфирных мультиплексов задействовано 4 физических тюнера, иначе тоже никак... |
Автор: | Tolyan249 [ 16 сен 2015, 16:03 ] |
Заголовок сообщения: | Re: По тюнеру DVB T2 |
Писал программы для DVB S и S2 , разбор потока TS у меня есть , как получить название каналов это есть, Думаю так: 1-Узнать сколько PLP их id или номер. 2-переключать PLP в тюнере 3-Получить TS поток этого PLP 4-Разобрать его, по данным названия каналов, найти PID(video,audio) и 2 служебных PID не помню как они называются. Только если TS поток такой же как используется в DVB S или S2. Пока думаю так, если что отпишусь. если в PLP0 идет 3-программы телевидения и 2 радио ,то их можно сразу вывести(показать) с одного PLP? и еще не большой вопрос: ( При передаче put запроса параметр задает номер PLP от 0 до 254. При указании любого числа <= 0, драйвер переключится на авто режим выборки PLP ) это если отправить 0-драйверу ,он перейдет в режим авто PLP, Что это за режим авто PLP. Спасибо огромное за ответы и помощь. |
Автор: | BTVSoft [ 17 сен 2015, 16:57 ] |
Заголовок сообщения: | Re: По тюнеру DVB T2 |
Цитата: Только если TS поток такой же как используется в DVB S или S2. Такой-же, стандарт ISO общий. Цитата: если в PLP0 идет 3-программы телевидения и 2 радио ,то их можно сразу вывести(показать) с одного PLP? Да, они же замуксированы в общий TS поток. У каждой программы свои метки времени (PCR). Цитата: Что это за режим авто PLP. Это автоматический выбор первого PLP ID, потому как вы не можете знать заранее, сколько PLP на текущем мультиплексе и с какого PLP ID идет отсчет. |
Автор: | Tolyan249 [ 18 сен 2015, 06:10 ] |
Заголовок сообщения: | Re: По тюнеру DVB T2 |
Ясно, спасибо огромное за информацию. |
Автор: | Tolyan249 [ 29 сен 2015, 20:31 ] |
Заголовок сообщения: | Re: По тюнеру DVB T2 |
Кому интересно нашел исходники фильтров ,плагинов на DELPHI для написания своих программ, поддерживает [ DVB s, DVB C, DVB T , DVB ATS ], проверил ,откомпилировал ,работает,каналы находит. Да простят меня модераторы за ссылку для страницы где можно скачать эти библиотеки. [ http://www.dsp-worx.de/?n=11 ] |
Автор: | Tolyan249 [ 04 окт 2015, 09:08 ] | |||
Заголовок сообщения: | Re: По тюнеру DVB T2 | |||
Здравствуйте. Подскажите как и какой подключить фильтр для получения потока MEDIASUBTYPE_MPEG2_TRANSPORT, фильтры все соединил до MPEG-2 demultiplexer,все нормально, ошибок нет, К фильтру MPEG-2 demultiplexer не могу ни чего подключить, там 5-пинов из которых 3 только работают, это 1-пин,5-пин и MPEG2 Stream. Нету пинов (Video и Audio). Мне нужно получить весь поток который идет с фильтра DVB-T Capture? там данные идут по 188 байт, или можно этот поток взять с фильтра MPEG-2 demultiplexer ? Но там надо указать pid видео и звука. Застрял на одно месте. Нашёл что можно добавить фильтр Samlegrabber к фильтру DVB-T Capture. Ошибок нет но и потока в Samlegrabber я не получаю. И еще вопрос как можно получить уровень сигнала? Спасибо.
|
Автор: | Tolyan249 [ 04 окт 2015, 12:06 ] |
Заголовок сообщения: | Re: По тюнеру DVB T2 |
Сигналы получил но только 2 а не как у все з procedure TForm1.Timer1Timer(Sender: TObject); var FTuner: ITuner; strength:integer; Trigger:integer; begin if FTuner=nil then exit; FTuner.get_SignalStrength(strength); FTuner.TriggerSignalEvents(Trigger); gauge1.MaxValue:=100; gauge1.Progress:= strength; gauge2.MaxValue:=100; gauge2.Progress:= Trigger end; Получение сигнала в FTuner больше нет ни каких. установил частоту и bandwidth , уровень сигнала появился и меняется в не больших пределах, т.е. сигнал идет в реальном времени. Trigger всегда показывает 100% сигнала . strength колеблется от 60 до 65. SNR сигнал как найти? Cигнал появился только тогда когда была запущена программа beholder потом закрыта,видимо настройки тюнера остались при закрытии программы beholder. И ещё один вопрос , какие параметры указать тюнеру что бы он показал уровень сигнала? 0-перевести тюнер для приёма в DVB T формат (DVB_TERRESRIAL) 1-указать частоту 2-FEC 3- BandWidth(ширина канала) 4- модуляцию 64QAM 5- и еще что я не знаю. в directshow нашел что нужно установить но откуда взять данные не понятно,и что задавать. или данные идут в потоке MPEG 2 ТS настройки тюнера ,если так то тогда как их взять от туда? или установить в ручную? var DVBTLocator: IDVBTLocator; DVBTLocator.put_Bandwidth(); DVBTLocator.put_LPInnerFEC(); DVBTLocator.put_LPInnerFECRate() ; DVBTLocator.put_HAlpha(); DVBTLocator.put_Guard(); DVBTLocator.put_Mode(); DVBTLocator.put_OtherFrequencyInUse() DVBTLocator.put_CarrierFrequency() DVBTLocator.put_InnerFEC() ; DVBTLocator.put_InnerFECRate(); DVBTLocator.put_OuterFEC(); DVBTLocator.put_OuterFECRate() ; данные программ скорее всего одинаковые по всей России DVB T2, кроме канала вещания.(моё мнение) Спасибо. |
Страница 1 из 5 | Часовой пояс: UTC + 3 часа |