Подтвердить что ты не робот

IPhone HE-AAC Streaming через мобильную сеть (3G)

Разработал интернет-радиопоток с использованием jPlayer, который использует аудиотексты html5 с jQuery и имеет флэш-память для неподдерживаемых браузеров. После тестирования проигрывателя на iPhone (iOS 5.0.1) у нас возникла очень странная проблема.

Когда iPhone подключен к Wi-Fi, он прекрасно передает потоки HE-AAC V2 с пропускной способностью 64 кбит/с 44,1 кГц (предпочтительный кодек для продуктов Apple). Однако, когда iPhone подключен к мобильной сети 3G, он "заикается" или останавливает поток в течение 1-2 секунд каждые 1-2 минуты (полностью не прекращает поток). Неприятности в том, что iPhone вынужден использовать отдельный поток MP3 с той же скоростью передачи данных, он не имеет этой проблемы и отлично работает на 3G.

ОБНОВЛЕНИЕ 5

Недавно мы приобрели мобильное устройство мобильной связи Sprint 3G/4G Sprint и протестировали эту проблему с устройством. Когда iPhone подключен к мобильной точке доступа, он отображается как подключенный к Wi-Fi-устройству, и проблема не отражается даже на фактическом подключении через 3G/4G. Это может указывать на проблему, связанную с тем, что iPhone не обрабатывает HE-AAC через HTTP Live Streaming и напрямую подключен к мобильной сети.

ОБНОВЛЕНИЕ 4

Обновлен iPhone до iOS 5.1, но проблема не устранена.

ОБНОВЛЕНИЕ 3

Прочитайте здесь о SO различные проблемы script, которые не отображаются правильно при подключении к мобильным сетям. Палец, кажется, указывает на несущих мобильной сети, которые могут вставлять прокси для обслуживания веб-страниц, например. для уменьшения изображений. Также он может вводить некоторые страницы JavaScript. Страница тестирования можно найти ЗДЕСЬ Примечание: эта страница использует HE-AAC, поэтому она будет работать только на iPhone...

UPDATE

Согласно документу Apple HTTP Live Streaming doc для устройств iOS, "аудиоконтент может быть либо транспортным, либо MPEG-аудиопотоком MPEG-2, либо в формате AAC с заголовками ADTS, либо в формате MP3". Наш музыкальный сервер использует кодер OddcastV3 для отправки трех потоков (MP3, HE-AAC V2 и Oggvorbis) на сервер icecastV2. Не уверен, что кодировщик вставляет заголовки ADTS для потока HE-AAC V2. Есть ли способ проверить это?

4b9b3361

Ответ 1

С точки зрения радиопланирования - вот мои два цента:

То, что вы описываете, звучит как формирование полосы пропускания - что является общим и часто необходимым дизайном сетей радиосвязи (например, сетей 3G). В большинстве 3G-операторов, с которыми я работал, вы, как правило, оптимизировали свою сеть, чтобы обеспечить высокоскоростной пакет (подумайте, загрузив изображение, отправив одно сообщение или извлекая одну страницу HTML) - через "длинные" услуги с высокой пропускной способностью. Это связано с тем, что это то, что большинство пользователей хотят/нуждаются.

Это формирование может на типичной сети 3GPP (GSM 3G) привести к тому, что вы сначала получите RAB (канал радиодоступа), поддерживающий 384 Кбит, и затем будет понижен до тех пор, пока ваше устройство примет его. Это означает, что типично вы переключитесь с 384 → 256 → 128, а затем на 64 кбит, где, возможно, ваше устройство начнет медленно получать данные, затем сеть обновит его и снова понизит его через некоторое время.

Так почему же тогда MP3 файл не заикается? я предполагаю, что общая скорость кбит может отличаться - так что вы в порядке в 64-битной RAB. Это обычное явление.

Ответ 2

Нам удалось получить то же самое, что и работа. 64 Кбит AAC-v2 на мобильных устройствах. Мы потоки файлов, а не постоянный поток, я думаю, Магнус прав, когда он объясняет, как сеть приоритет трафика на всплески, в нашем случае это означает, что мы имеем большие части файла сразу, и игрок может продолжать играть до следующего Вспышка приходит. В вашем случае это означает, что поток приостанавливается до следующего пакета.

Или, если вы можете переключиться на более крупные куски в потоковой передаче (более крупный буфер) или потоком файлов целиком?

У нас было очень странное явление с iOS, нам пришлось переименовать все файлы с .m4a в .aac, чтобы они могли передавать их на iOS. Если бы мы не переименовали их, iOS не сыграет их.

Удачи.