Краткий ответ: iPhone поддерживает видео H.264, высокий профиль и аудио AAC , в форматах контейнеров .mov
, .mp4
или сегмент MPEG .ts
, Файлы сегмента MPEG используются для HTTP Live Streaming .
- Для максимальной совместимости с браузерами Android и настольными компьютерами используйте H.264 + AAC в контейнере
.mp4
.
- Для видеороликов с увеличенной продолжительностью длительностью более 10 минут Вы должны использовать потоковую передачу HTTP, то есть H.264 + AAC в серии небольших файлов-контейнеров
.ts
(см. 1021 * Рекомендации по рассмотрению в App Store правило 2.5.7).
Видео
На iPhone H.264 - единственная игра в городе. [1]
В H.264 доступно несколько различных уровней функций или « профилей ». Все современные айфоны ( 3GS и выше ) поддерживают высокий профиль. Эти профили в основном представляют собой три различных уровня алгоритмов «трюков», используемых для сжатия видео. Чем больше трюков, тем лучше сжатие, но для декодирования требуется больше процессора или выделенного оборудования. Это - таблица, в которой перечислены различия между различными профилями.
[1] Интересно, что в Apple Facetime используется более новый видеокодек H.265 (HEVC) . Однако прямо сейчас (август 2017 г.) не существует библиотеки Apple, предоставляющей разработчикам доступ к кодеку HEVC. Ожидается, что изменится в какой-то момент.
Говоря о том, какой формат видео поддерживает iPhone, следует сделать различие между тем, что может поддерживать аппаратное обеспечение, и тем, какие (гораздо более низкие) ограничения для воспроизведения при потоковой передаче по сети.
Только данные, предоставленные об аппаратной поддержке Apple видео о текущем поколении iPhone (SE, 6S, 6S Plus, 7, 7 Plus), свидетельствуют о том, что они поддерживают
4K [3840x2160] запись видео со скоростью 30 кадров в секунду
1080p [1920x1080] Запись видео в формате HD со скоростью 30 кадров в секунду или 60 кадров в секунду.
Очевидно, что телефон может воспроизводить то, что он может записать, поэтому мы можем предположить, что 3840x2160 при 30 кадрах в секунду и 1920x1080 при 60 кадрах в секунду представляют пределы дизайна телефона. Кроме того, размер экрана на 6S Plus и 7 Plus составляет 1920x1080. Поэтому, если вы заинтересованы в воспроизведении на телефоне, не имеет смысла отправлять больше пикселей, чем экран.
Однако потоковое видео - это другое дело. Поскольку сети работают медленно, а видео огромно, обычно используется более низкое разрешение, битрейт и частота кадров, чем теоретический максимум устройства.
Наиболее подробный документ с рекомендациями для потоковой передачи: TN2224 Рекомендации по созданию и развертыванию HTTP Live Streaming Media для устройств Apple . Рисунок 3 в этом документе дает таблицу рекомендуемых параметров потоковой передачи:
Эта таблица с мая 2016 года .
Как видите, Apple рекомендует относительно низкое разрешение 768x432 в качестве самого высокого рекомендуемого разрешения для потоковой передачи по сотовой сети. Конечно, это всего лишь рекомендация и YMMV.
*
1077 Audio *
Вопрос касается видео, но у этого видео обычно есть одна или несколько звуковых дорожек. IPhone поддерживает несколько аудиоформатов , но самым современным и наиболее широко используемым является AAC . IPhone 7/7 Plus, 6S Plus / 6S, SE поддерживают битрейт AAC от 8 до 320 Кбит / с .
Контейнер
Аудио- и видеодорожки помещаются в контейнер . Целью контейнера является объединение (чередование) различных дорожек вместе, хранение метаданных и поддержка поиска. IPhone поддерживает
- QuickTime
.mov
,
- MP4 и
- MPEG-TS .
Форматы файлов .mov
и .mp4
тесно связаны (.mp4
фактически основан на .mov
), однако .mp4
является стандартом ISO это имеет гораздо более широкую поддержку.
Как отмечалось выше, вы должны использовать MPEG-TS для видео продолжительностью более 10 минут.