Текущее время: 29 мар 2024, 01:36 • Часовой пояс: UTC + 3 часа
Сообщения без ответов | Активные темы

По тюнеру DVB T2

Начать новую темуОтветить на тему Страница 5 из 5 [ Сообщений: 70 ] На страницу   Пред.  1, 2, 3, 4, 5
Версия для печати Пред. тема | След. тема
АвторСообщение
Сообщение Добавлено: 29 ноя 2017, 15:07. Заголовок сообщения:  Re: По тюнеру DVB T2
Зарегистрирован:
    17 мар 2015, 03:13
Сообщения: 264
В первом мультиплексе (РТРС-1) три трубы: PLP 0, PLP 1 (Россия 1, Радио России), PLP 2 (Россия 24).
Профиль 
Сообщение Добавлено: 29 ноя 2017, 15:17. Заголовок сообщения:  Re: По тюнеру DVB T2
Зарегистрирован:
    28 сен 2006, 05:01
Сообщения: 830
Откуда: Russia,Moscow
писал(а):
В первом мультиплексе (РТРС-1) три трубы: PLP 0, PLP 1 (Россия 1, Радио России), PLP 2 (Россия 24).

Вопрос был не про это.
Как программно узнать кол-во PLP в мультиплексе???
Предполагаемый микрософтовский способ через BDA-интерфейс - с бехолдером ни у кого не работает (вероятно есть какая-то тонкость, о которой никто не знает).
В ProgDVB пришлось вот просто тупо назначить всем мультиплексам по 4 PLP, и перебирать их.

Нужен пример по получению кол-ва PLP именно для бехолдеровского BDA.
Авторы Behold TV уже много лет упорно не отвечают на этот вопрос, хотя вопрос возникает у многих разработчиков.
Профиль WWW ICQ 
Сообщение Добавлено: 29 ноя 2017, 17:54. Заголовок сообщения:  Re: По тюнеру DVB T2
Зарегистрирован:
    17 авг 2012, 07:26
Сообщения: 62
Спасибо за ответ. Да нужно программно узнать , или перебирать PLP,просто я не знаю как тюнер переключить на другой PLP. 2-года бьюсь пока результат 0.
Профиль 
Сообщение Добавлено: 29 ноя 2017, 20:51. Заголовок сообщения:  Re: По тюнеру DVB T2
Зарегистрирован:
    17 мар 2015, 03:13
Сообщения: 264
писал(а):
Да нужно программно узнать , или перебирать PLP,просто я не знаю как тюнер переключить на другой PLP.
Мне кажется, что вопрос этот сродни вопросу, сколько реальных 8-мегагерцовых несущих содержит полоса, к примеру, 24 или 64 МГц. В принципе, оператор может разместить на одной DVB-T2 несущей произвольное число PLP. Сколько их в эфирном DVB-T2 потоке, можно узнать, по-моему, только перебором, примерно так же, как сканированием определяется количество несущих в каком-то диапазоне частот.
Программно, число PLP легко определяется при анализе T2-MI потока, который включает в себя все PLP, подаваемые на Gateway, на выходе которого получается единый сервис, поднимаемый на спутник и принимаемый затем ретрансляторами. Принятый T2-MI поток непосредственно подается затем на DVB-T2 модулятор, с которого PLP идут уже самостоятельными подпотоками.
К мысли о переборе подводит история с тюнерами Geniatech/MyGica типа Т230/Т230С. Их драйвер использует для приема PLP, отличных от PLP 0, фейковые частоты. Их драйвер определяет именно при частотном сканировании. То есть, назначается слепое сканирование, после которого выдаются как истинные частоты несущих, так и фейковые, на которых якобы транслируются PLP 1, PLP 2. Дальше настраиваешь тюнер на эти частоты и принимаешь PLP 1, 2 и т.д.
Так что перебор, пожалуй, единственный надежный способ. А Beholder, создавая свой BTV, скорее всего, принимал в расчет, что у нас в одном из мультиплексов всего 3 PLP. Кроме того, мудрые разработчики сохранили возможность при ручной настройке задавать все, что нужно, в том числе и номер PLP. За что им особое спасибо! Это - классика BDA! Мало у кого это есть.
Профиль 
Сообщение Добавлено: 29 ноя 2017, 23:03. Заголовок сообщения:  Re: По тюнеру DVB T2
Зарегистрирован:
    28 сен 2006, 05:01
Сообщения: 830
Откуда: Russia,Moscow
писал(а):
К мысли о переборе подводит история с тюнерами Geniatech/MyGica типа Т230/Т230С. Их драйвер использует для приема PLP, отличных от PLP 0, фейковые частоты.
А вот астромета не использует никаких фейковых частот, и мгновенно (ещё до сканирования состава мультиплекса) выдаёт перечень доступных PLP при фиксации частоты.
По косвенным признакам - бехолдер тоже мгновенно узнаёт перечень доступных PLP. Но вот как у него это спросить через BDA - не понятно.
Профиль WWW ICQ 
Сообщение Добавлено: 30 ноя 2017, 05:49. Заголовок сообщения:  Re: По тюнеру DVB T2
Зарегистрирован:
    17 авг 2012, 07:26
Сообщения: 62
Спасибо огромное за ответы и помощь,будем дальше искать, у меня есть исходник на visual си++ и скомпилированный файл , он работает с PLP , но я пишу на DELPHI ,не могу переписать . Сюда не могу выложить размер не позволяет ,если кому нужно ,отправлю на мыло , пишите на tomoct@mail.ru.
Профиль 
Сообщение Добавлено: 30 ноя 2017, 11:01. Заголовок сообщения:  Re: По тюнеру DVB T2
Зарегистрирован:
    28 сен 2006, 05:01
Сообщения: 830
Откуда: Russia,Moscow
писал(а):
у меня есть исходник на visual си++ и скомпилированный файл , он работает с PLP ,
Там есть функция которая выдаёт кол-во PLP на текущей частоте? И она работает на бехолдере?
Профиль WWW ICQ 
Сообщение Добавлено: 30 ноя 2017, 16:07. Заголовок сообщения:  Re: По тюнеру DVB T2
Зарегистрирован:
    17 авг 2012, 07:26
Сообщения: 62
Да прекрасно все работает. каналы все находит у меня USB cruize lite тюнер.

Может кто поможет разобраться с исходником на си++, и переделать на delphi функции по PLP.


Например там есть строки:

Код:
    var plpSupported = KsPropertyHelper.KSSupported(graph.TunerPin, KSPropSets.KSPROPSETID_BdaDigitalDemodulator,
                (int)KSPROPERTY_BDA_DIGITAL_DEMODULATOR.KSPROPERTY_BDA_PLP_NUMBER);


plpSupported - что за переменная где искать её описание?


Есть функция там по поиску контактов демодулятора KSPROPERTY_BDA_PLP_NUMBER
Код:
// Gets the property value (ksGuid property set and its ksParam) from ksTarget
public static object KSGetNode(IKsPropertySet ksTarget, Guid ksGuid, int ksParam, Type ksType)
{
    object obj;

    var dataPtrSize = Marshal.SizeOf(ksType);
    var dataPtr = Marshal.AllocCoTaskMem(dataPtrSize);
    var instancePtrSize = Marshal.SizeOf(typeof(KSP_NODE));
    var instancePtr = Marshal.AllocCoTaskMem(instancePtrSize);

    try
    {
        int cbBytes;
        var result = ksTarget.Get(
            ksGuid,
            ksParam,
            instancePtr,
            instancePtrSize,
            dataPtr,
            dataPtrSize,
            out cbBytes);

        if (result != 0)
            throw new Exception(
                string.Format("KSPropertySet KSP_NODE GET method failed [{0:X}]",
                    result));
        obj = Marshal.PtrToStructure(dataPtr, ksType);
    }
    finally
    {
        if (dataPtr != IntPtr.Zero)
            Marshal.FreeCoTaskMem(dataPtr);
        if (instancePtr != IntPtr.Zero)
            Marshal.FreeCoTaskMem(instancePtr);
    }
    return obj;
}



как её переделать на delphi не понятно.




Вот ссылка на скачивание проекта на C++ https://www.codeproject.com/Articles/82 ... bControls/
Спасибо.
Профиль 
Сообщение Добавлено: 07 дек 2017, 16:51. Заголовок сообщения:  Re: По тюнеру DVB T2
Зарегистрирован:
    17 авг 2012, 07:26
Сообщения: 62
Пробую установить PLP через IKSPROPERTYSET не работает ,может кто что подскажет ?



Спасибо.



Код:

function  TBDAFilterGraph.set_PLP(plpnum: integer):boolean;
var
PropertySet : IKSPropertySet;
dwSupported, cbBytes: DWord;
 Property_ : KSPROPERTY;
 hr:Hresult;
begin

if SUCCEEDED(FTunerDevice.QueryInterface(IID_IKSPropertySet, PropertySet)) then
  begin
    ZeroMemory(@Property_, sizeof(Property_));
   Property_.Set_:= KSPROPSETID_BdaDigitalDemodulator;
   Property_.Id:=Cardinal(KSPROPERTY_BDA_PLP_NUMBER);
   Property_.Flags:=KSPROPERTY_TYPE_SET;
   Property_.Alignment:=plpnum;

   dwSupported:=2;


hr:=PropertySet.QuerySupported(KSPROPSETID_BdaDigitalDemodulator,
AMPROPERTY_PIN(KSPROPERTY_BDA_PLP_NUMBER),dwSupported);

    if (hr <> S_OK) then  exit;

hr:=PropertySet.Set_(KSPROPSETID_BdaDigitalDemodulator, AMPROPERTY_PIN(KSPROPERTY_BDA_PLP_NUMBER),
     PKSPROPERTY(@Property_),
     SizeOf(Property_) - SizeOf(PKSPROPERTY),
     @Property_,
     SizeOf(Property_));

  end;


end;
Профиль 
Сообщение Добавлено: 10 апр 2018, 11:39. Заголовок сообщения:  Re: По тюнеру DVB T2
Зарегистрирован:
    17 авг 2012, 07:26
Сообщения: 62
Вопрос модераторам форума . Помогите пожалуйста написать функцию по переключению PLP на pascale или на СИ#.
Уже 2 года мучаюсь не могу сделать переключение PLP.


Спасибо.
Профиль 
Показать сообщения за:  Поле сортировки:    
Начать новую темуОтветить на тему  Страница 5 из 5  [ Сообщений: 70 ]  На страницу   Пред.  1, 2, 3, 4, 5
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения
Найти:  
Перейти: