Какие видеоформаты совместимы с библиотекой активов?
Какие видеоформаты совместимы с библиотекой активов 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.
Я понятия не имею, как бы вы оценили это для устройств без камер.