Почему видео mp4 нормально воспроизводится на iPad, а не на iPhone? - PullRequest
11 голосов
/ 12 февраля 2011

Я довольно озадачен в этом вопросе.

У меня есть большая библиотека видеофайлов формата H.264 mp4, которую нужно воспроизвести на iOS.Первоначально я ориентировался только на iPad, но требования изменились, и теперь мне нужно включить iPhone.Но я заметил, что мой iPod Touch, который имеет ту же версию ОС и идентификатор сборки, что и мой iPad, не будет воспроизводить те же файлы, которые я успешно использовал на iPad.Я подтвердил это коллеге, у которого также есть iPhone и iPad с той же версией и сборкой.Я также видел точно такое же поведение в симуляторе iPad, но до сих пор я полагал, что это была причуда симулятора.Теперь я не уверен.

mp4s закодированы со следующими настройками:

AVC Coding 640x360, Millions
AAC, Stereo (L R), 44.100 kHz
29.97 fps
693.35kb/s

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

Если я экспортирую эти файлы из QuickTime в виде файлов m4v, они прекрасно воспроизводятся на всех устройствах и симуляторах, поэтому моя интуиция говорит мне, что мне не хватает этого параметра кодировщика.

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

Устройства:

  • 4.2.1 (8C148) - играет на iPad, а не на iPhone.

Симуляторы:

  • 3.2 (7W367a) - хорошо играет на iPad (без версии для iPhone)
  • 4.0.2 (8A400) - не работаетиграть в iPhone (без версии для iPad)
  • 4.1 (8B117) - не играть с iPhone (без версии iPad)
  • 4.2 (8C134) - не играть с iPhone или iPad

Я просмотрел журналы изменений iOS в поисках чего-нибудь, что могло бы объяснить, почему декомпрессор видео должен работать на одной версии, а не на другой, и я не могу найти ничего, что выпрыгивает.

У кого-нибудь есть идеи, что может быть за этим и как я могу это исправить?

1 Ответ

5 голосов
/ 13 февраля 2011

Убедитесь, что ваш кодировщик не использует функции H.264, недоступные в iOS.Я полагаю, что все устройства iOS поддерживают 3.0 Baseline, все, кроме первого поколения, поддерживают 3.1 Baseline и самое последнее 3.1 Main.В Википедии есть список различий между различными профилями.

Более подробная информация о поддержке устройств iOS доступна здесь , но официальные технические характеристики для каждого устройстваперечисляет его конкретные возможности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...