Как определить аудио профиль AAC и обеспечить совместимость с Android - PullRequest
4 голосов
/ 03 августа 2011

У меня проблемы с выяснением того, как определить, совместим ли источник аудио AAC с Android. Поддерживаемые форматы мультимедиа page для android говорят «AAC LC / LTP» при доставке в формате 3GP, MPEG4 или ADTS raw AAC. Похоже, что LC означает «Низкая сложность», а LTP - «Долгосрочное прогнозирование», но мое самое большое разочарование - определение того, какие профили / модули AAC поддерживаются в Android. Когда я запускаю ввод в ffmpeg, я вижу его AAC, но не расширенный информация об AAC. Пример источника http://6693.live.streamtheworld.com:80/WTMJAMAAC_SC. У кого-нибудь есть идеи?

Ответы [ 3 ]

3 голосов
/ 16 августа 2011

Вы можете получить расширенную информацию о мультимедиа программно, используя библиотеку MediaInfo, доступную здесь: http://mediainfo.sourceforge.net/en/Download

"DLL" или другие загрузки мультимедиа включают пример кода на C, C # и т. Д. Если вы не хотитенапишите любой код, на этом же сайте есть загрузки для «MediaInfo», программы, которая использует библиотеку для отображения информации.

Ваша ссылка на поддерживаемые форматы мультимедиа для Android гласит: « Моно / стерео контент в любой комбинациистандартные битовые скорости до 160 кбит / с и частоты дискретизации от 8 до 48 кГц".Обратите внимание, что в приведенном ниже примере показаны все из них: канал (ы), общая скорость передачи данных и частота дискретизации.

Может возникнуть необходимость самостоятельно проверить, означает ли «до 160 кбит / с» «в целом до 160 кбит / с»«или« Никакая часть файла, включая те, которые закодированы с переменной скоростью передачи (VBR), не может превышать 160 кбит / с ».Примечательно, что я воспроизводил фильмы на своем одноядерном телефоне Android с 6-канальным звуком VBR AAC 256 Кбит, хотя, очевидно, я не слышал тыловые каналы объемного звучания.Из-за этого я подозреваю, что ограничения, предложенные в ссылке, являются минимальными допустимыми для Google, но поддерживаемые на практике форматы аудио гораздо шире.

Вот пример из фактического файла AAC (с использованиемПрограмма MediaInfo):


Format                           : ADTS
Format/Info                      : Audio Data Transport Stream
File size                        : 176 KiB
Duration                         : 30s 707ms
Overall bit rate                 : 46.8 Kbps

Audio
Format                           : AAC
Format/Info                      : Advanced Audio Codec
Format version                   : Version 4
Format profile                   : LC
Format settings, SBR             : Yes
Format settings, PS              : Yes
Muxing mode                      : ADTS
Duration                         : 30s 707ms
Bit rate mode                    : Constant
Bit rate                         : 46.8 Kbps
Channel(s)                       : 2 channels
Sampling rate                    : 44.1 KHz
Stream size                      : 176 KiB (100%)

Я написал библиотеку-оболочку на C # для MediaInfo.Нет необходимости использовать MediaInfo, но делает его использование намного проще и более ".NET-friendly".Его можно найти здесь: MediaInfo.Net .

1 голос
/ 17 августа 2011

Если вы просто хотите проверить профиль, используемый для нескольких файлов, вы можете использовать VLC или любую другую программу (как уже предлагалось Sheepy) - в VLC это в Extras -> Media Information -> CodecDetails and in your example stream, это AAC SBR + PS (это Профиль высокой эффективности ), который можно декодировать на Android .

Если у вас есть контроль над медиафайлами, которые вы хотите воспроизводить через Android, вы можете проверитьэта статья в блоге о мобильных платформах для правильной кодировки.Если нет (например, потому что пользователь может выбрать свои собственные URL-адреса или файлы), вы должны вместо этого перехватить любые исключения и отобразить сообщение об ошибке.Таким образом, вы также будете в будущем против новых типов носителей, которые могут поддерживаться в будущих версиях Android.

1 голос
/ 14 августа 2011
  1. Загрузка источника в Media Player Classic .
  2. Просмотр его свойств.
  3. На вкладке MediaInfo будет отображаться:
    • Формат: AAC
    • Формат профиля: LC
...