Создайте демультиплексор для MPEG 2 TS в андроиде

У меня есть требование, когда мне нужно извлечь теги ID3 из TS2 MPEG2 (HLS STREAM). MPEG2 имеет ограниченную поддержку в android в отношении воспроизведения файла. Но моя задача – извлечь теги ID3 (играть в файл не нужно). Поэтому меня не интересуют кодеки (кодирование и декодирование).

Я изучил следующие варианты:

Libstagefright и OpenMax : механизм воспроизведения, реализованный Google с Android 2.0. Он MediaExtractor отвечает за получение данных трека и соответствующих метаданных из базовой файловой системы или потока HTTP. Но согласно этому сообщению Добавление видеокодека на Android мне нужно создать собственную прошивку или собственный медиаплеер. Я надеюсь, что мне не нужно идти по этому пути. Более подробную информацию о stagefright и openMax можно найти здесь:

Обзор игрока Stagefright

Архитектура медиаплеера Stagefright от Android

Интеграция пользовательских Wrapper Codec в Android

Как интегрировать декодер в мультимедийную инфраструктуру

Компиляция и использование FFMPEG : полное кросс-платформенное решение для записи, конвертирования и передачи аудио и видео. Мы можем демультиплексировать файлы ts с помощью этой библиотеки, как указано здесь:

FFmpeg – извлечение видео и аудио из файла транспортного потока (.ts) .

Но я не уверен, смогу ли я извлечь теги ID3 из потока HLS. Libavformat может это сделать, но мне все же нужно придумать механизм для передачи прочитанных метаданных в мое приложение.

Компиляция vlc для android : я скомпилировал vlc для android и внесли некоторые изменения внутри транспортного модуля в компонент demux для извлечения тегов, но он не может воспроизводить все потоки, которые я им предоставляю.

Просмотрев эти параметры, я все еще могу исправить это. Я не хочу создавать медиаплеера, так как я не буду воспроизводить файлы и не хочу создавать собственную прошивку. Использование ffmpeg представляется наиболее жизнеспособным вариантом, но я хочу попробовать это без использования сторонней или открытой исходной библиотеки. Мои вопросы:

Возможно ли создать демультиплексор с нуля, который будет работать на Android?

Если возможно, то как это сделать?

Любые варианты, которые я пропустил?

Я новичок в этом. Любая помощь будет принята с благодарностью. Спасибо.

В android существует поддержка для извлечения тегов ID3 . Дополнительную информацию см. В модуле ID3 .

Интеграцию ID3 в MP3 экстрактор можно найти здесь .

Из быстрой проверки я обнаружил, что ID3 поддерживается от Froyo далее.

Intereting Posts