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

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

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

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

Ответ 1

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

Я запустил несколько тестов 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 видео работают только на iPhones и iPads Retina.)

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

Ответ 2

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

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

  • Видео 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 и .mov форматы файлов

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

  • Многочисленные аудиоформаты, включая те, которые перечислены в разделе "Аудио" Технологии "

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

Ответ 3

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

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

  • 320x240px
  • 640x480px
  • 960x720px
  • 1440x1080px

Четыре видеофайла добавили только 12 КБ в приложение Bundle.

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

Ответ 4

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

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

Ответ 5

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

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

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

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