Какие форматы видео совместимы с библиотекой ресурсов?

Какие форматы видео совместимы с библиотекой ресурсов iPhone?

Другими словами, для каких форматов видео VideoAtPathIsCompatibleWithSavedPhotosAlbum ALAssetsLibrary возвращает YES?

Кажется, я не могу найти информацию об этом в справочной библиотеке iPhone.


person Avalanchis    schedule 15.07.2010    source источник


Ответы (5)


Об этом еще никто не упоминал, но это зависит от устройства iPhone/iOS. Создавая приложение, которое пытается копировать видео Flickr в фотоальбом, я был разочарован, когда продолжал получать неверные результаты данных в writeVideoAtPathToSavedPhotosAlbum: требует iPhone без Retina.

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

                                  iPhone        iPhone       iPad
                               (non-Retina)    (Retina)
6119419764_orig.mov
H.264, 1,920 x 1,080               NO             NO          NO
Linear PCM, 16 bit 
little-endian signed 
integer, 48000 Hz, 
Stereo (L R)
35.33 Mbit/s

6119419764_hd.mp4
AVC Coding, 1,280 x 720            NO             YES         YES
AAC, 44100 Hz, Stereo (L R)
2.15 Mbit/s

6119419764_site.mp4
AVC Coding, 640 x 360              NO             YES         YES
AAC, 44100 Hz, Stereo (L R)
833.71 kbit/s

6119419764_mobile.mp4
AVC Coding, 568 x 320              YES            YES         YES
AAC, 32000 Hz, Mono
775.14 kbit/s

6121206003_orig.mov
(Taken with iPhone 3Gs)           
H.264, 480 x 360                   YES            YES         YES
AAC, 44100 Hz, Mono
865.94 kbit/s
30 fps

6110638568_reformat.mov
H.264, 640 x 360                   YES            YES         YES
AAC, 44100 Hz, Mono
3.57 Mbit/s

Основываясь на этом ограниченном тестировании, для данного формата и устройства кажется, что размер имеет наибольшее значение. (Для текущих методов кодирования Flickr и схема URL, видео mobile работают со всеми фотоальбомами устройств iOS, тогда как видео hd и site работают только на устройствах Retina iPhone и iPad.)

Интересным примечанием является то, что HD-видео будут воспроизводиться на iPhone без Retina с помощью MPMoviePlayerController — вы просто не сможете сохранить их в фотоальбом.

person Victor Van Hee    schedule 07.09.2011
comment
Хорошая подробная схема! Как ни странно, я еще не нашел случая, когда MPMoviePlayerController будет воспроизводить видео в высоком разрешении, которое не попадает в CameraRoll — в частности, видео, снятые на Galaxy S5 (не уверен, какие настройки, попросил QA использовать максимально возможное качество) выиграл не играю даже на айфоне 5С (на 5S не пробовал). Но у меня нет того уровня детализации, который вы здесь предоставляете в отношении характеристик видео. - person Andy Weinstein; 11.08.2014

Если вам нужен список поддерживаемых аудио- и видеотехнологий, прочтите Обзор технологий iOS, в частности Медиа-уровень (прокрутите вниз до слова "Видеотехнологии").

Видеотехнологии в iOS поддерживают воспроизведение файлов фильмов с расширениями .mov, .mp4, .m4v и .3gp и с использованием следующих стандартов сжатия:

  • Видео H.264, до 1,5 Мбит/с, 640 на 480 пикселей, 30 кадров в секунду, низкосложная версия базового профиля H.264 со звуком AAC-LC до 160 кбит/с, 48 кГц, стереозвук в формате .m4v, Форматы файлов .mp4 и .mov

  • Видео H.264, до 768 Кбит/с, 320 на 240 пикселей, 30 кадров в секунду, базовый профиль до уровня 1.3 со звуком AAC-LC до 160 Кбит/с, 48 кГц, стереозвук в форматах .m4v, .mp4 и . форматы мов файлов

  • Видео MPEG-4, до 2,5 Мбит/с, 640 x 480 пикселей, 30 кадров в секунду, простой профиль со звуком AAC-LC до 160 кбит/с, 48 кГц, стереозвук в форматах файлов .m4v, .mp4 и .mov

  • Многочисленные аудиоформаты, в том числе перечисленные в разделе «Аудиотехнологии».

Это справочная информация по медиа-фреймворкам в iOS.

person Jano    schedule 03.05.2011

Недавно я добавил функцию экспорта видео для серийных фотографий в своем сверхбыстром приложении камеры SnappyCam Pro.

Чтобы удовлетворить как старые, так и новые устройства, я создал несколько тестовых видео MPEG-4, каждое с одним черным кадром, с различными разрешениями 4:3:

  1. 320x240px
  2. 640x480px
  3. 960x720px
  4. 1440x1080px

Четыре видеофайла добавили всего 12 КБ к App Bundle.

Затем, перебирая каждый с помощью -[ALAssetsLibrary videoAtPathIsCompatibleWithSavedPhotosAlbum:], я смог выяснить, какие параметры действительны для окончательного экспорта видео из Camera Roll.

person jpap    schedule 07.09.2013
comment
Хороший! мне нравится такой подход - person Ben Gotow; 26.02.2014

Если бы мне пришлось гадать, я мог бы использовать собственные спецификации iPhone в качестве ориентира для тестирования. :

Поддерживаемые форматы видео: видео H.264 до 720p, 30 кадров в секунду, уровень основного профиля 3.1 со звуком AAC-LC до 160 кбит/с, 48 кГц, стереозвук в форматах файлов .m4v, .mp4 и .mov. ; Видео MPEG-4, до 2,5 Мбит/с, 640 x 480 пикселей, 30 кадров в секунду, простой профиль со звуком AAC-LC до 160 кбит/с на канал, 48 кГц, стереозвук в форматах файлов .m4v, .mp4 и .mov ; Motion JPEG (M-JPEG) до 35 Мбит/с, 1280 x 720 пикселей, 30 кадров/с, звук в формате ulaw, стереозвук PCM в формате файла .avi

person Alex Reynolds    schedule 15.07.2010
comment
Спасибо за предположение, но я хотел бы получить более определенный ответ. Кто-нибудь хочет сделать некоторые тесты, чтобы убедиться в этом? - person Avalanchis; 29.04.2011
comment
Было бы странно, если бы собственные спецификации Apple были неверными, не так ли? - person Alex Reynolds; 29.04.2011
comment
Тот факт, что iPhone поддерживает данный формат видео, не обязательно означает, что рассматриваемый API принимает его. Хотя у меня нет никакой информации, чтобы предположить обратное, я надеялся, что кто-нибудь подтвердит, что он действительно поддерживает каждый из этих форматов. - person Avalanchis; 29.04.2011
comment
Вы не можете использовать спецификации в качестве ориентира, например. iPhone3GS может воспроизводить 720p, но возвраты videoAtPathIsCompatibleWithSavedPhotosAlbum не примут его. - person Rhythmic Fistman; 16.11.2011
comment
Вот почему разработчик проводит много тестов. - person Alex Reynolds; 17.11.2011

Кажется, не существует документированного способа узнать, какие форматы сделают videoAtPathIsCompatibleWithSavedPhotosAlbum счастливым, и тот факт, что устройство может декодировать определенный формат, не означает, что AssetLibrary примет его. Однако вы ожидаете, что устройство, оборудованное камерой, всегда сможет сохранить выходные данные камеры с самым высоким разрешением в фотопленку.

Если вы можете жить с этим предположением, то все, что вам нужно сделать, это перечислить AVCaptureDevices и запросить различные пресеты с помощью supportsAVCaptureSessionPreset.

Тесты Виктора показывают, что площадь в пикселях имеет наибольшее значение, поэтому после запроса AVCaptureSessionPreset1920x1080, AVCaptureSessionPreset1280x720, AVCaptureSessionPreset640x480 вы сможете выбрать размер, при котором videoAtPathIsCompatibleWithSavedPhotosAlbum ответит ДА.

Я понятия не имею, как вы это понимаете для устройств без камер.

person Rhythmic Fistman    schedule 16.11.2011