Используя API LinuxTV, приложение может получать транспортный поток 188-байтовых пакетов от тюнера (спутникового, наземного, кабельного) при условии, что для этого тюнера существует драйвер устройства Linux.
188 байт — это стандартный размер пакета транспортного потока. Что касается модуляции, размер пакета составляет 204 байта с дополнительным 16-байтовым FEC Рида-Соломона. Эти 16 байт обычно не интересны, и именно поэтому мы читаем только 188-байтовые пакеты.
Однако в контексте стандартов ISDB-T и ISDB-Tb дополнительные 16 байт содержать информацию. Длина FEC Рида-Соломона составляет всего 8 байт. Первые 8 байт содержат информацию о модуляции ISDB. Вот почему некоторое оборудование может возвращать исходные 204-байтовые пакеты, не удаляя 16-байтовый трейлер.
Можем ли мы сделать это с помощью LinuxTV API?
Я не нашел ничего полезного в Интернете, в документации ядра или в заголовках /usr/include/linux/dvb/frontend.h и /usr/include/linux/dvb/dmx.h.
Этот вопрос задается в контексте проекта с открытым исходным кодом TSDuck (домашняя страница, github).
Подробнее здесь: https://stackoverflow.com/questions/793 ... tend-demux