Расшифровка DVB PSI

Мы ищем проект, который может декодировать разделы DVB PSI. Мы рассмотрели libdvbpsi, но похоже, что он обрабатывает только необработанные транспортные пакеты. В нашем приложении данные, которые мы отправляем, уже имеют всю транспортную информацию и собранный раздел. Наша кодовая база тоже C++, так что если есть проект на C++, то это было бы выгоднее, но мы не против использования C.

Есть ли способ заставить libdvbpsi работать только с разделами? или есть ли какой-нибудь другой проект, который делает это?

Спасибо.


person user626201    schedule 24.01.2012    source источник


Ответы (1)


См. эту документацию здесь: http://www.videolan.org/developers/libdvbpsi/doc/doxygen/html/structure.html

По сути, libdvbpsi имеет два уровня: PSI Decoder и Specific Decoder.

PSI Decoder - это то, что приложение использует для передачи всех данных TS, т.е. формат 188 байт. Декодер PSI, в свою очередь, распаковывает и собирает полные разделы. Во-вторых, он знает, в каком чанке есть соответствующие таблицы, и вызывает соответствующие Specific Decoder.

В вашем приложении, если вы уже разделили данные TS, а также собрали вместе соответствующие разделы, вы можете обойти PSI decoder и напрямую вызвать метод Specific decoders.

person Dipan Mehta    schedule 10.03.2012
comment
Спасибо, однако, пси-декодерам нужны пакеты по 188 байт, а наши входящие данные уже сформировали раздел. - person user626201; 14.03.2012
comment
@ user626201 Я понял вашу точку зрения, поэтому вам следует ОБХОДИТЬ пси-декодер! Напрямую ВЫЗЫВАЙТЕ конкретный декодер, который является декодером PAT - прочитайте ответ полностью! - person Dipan Mehta; 14.03.2012