Видео форматы, AVFoundation и UTIs - PullRequest
4 голосов
/ 29 декабря 2010

Я создаю приложение для iPhone, которое может манипулировать видеофайлами. Я использую классы AVFoundation (например, AVAsset). Я только что зарегистрировал свое приложение как обработчик всех файлов, соответствующих public.movie (через CFBundleDocumentTypes). Тем не менее, теперь мое приложение указано в меню «Открыть с помощью» для файлов .avi, хотя я не думаю, что iOS может воспроизводить фильмы AVI (предварительный просмотр Беглого взгляда попытается, но не удастся).

Есть ли лучший способ зарегистрироваться, чтобы открывать фильмы? Мне также потребуется поддержка общего доступа к файлам, поэтому мне нужно различать, какие файлы в папке «Документы» также являются допустимыми фильмами, хотя я не выяснил, как проверить UTI файла. Обзор технологии 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 и форматы файлов .mov
  • MPEG-4 видео, до 2,5 Мбит / с, 640 на 480 пикселей, 30 кадров в секунду, Простой профиль со звуком AAC-LC до 160 Кбит / с, 48 кГц, стереозвук в форматах .m4v, .mp4 и .mov форматы файлов
  • Многочисленные аудиоформаты, в том числе перечисленные в «Аудио технологиях»

Заранее благодарим за любые советы, которые у вас могут быть.

Ответы [ 2 ]

3 голосов
/ 28 мая 2013

Только для видео, указание следующих UTI в Info.plist должно работать:

  • com.apple.m4v-video (.m4v)
  • com.apple.quicktime-movie (.qt, .mov)
  • public.mpeg-4 (.mp4)

Вы можете найти UTI, поддерживаемые AVFoundation, в AVMediaFormat.h: https://developer.apple.com/library/mac/#documentation/AVFoundation/Reference/AVFoundation_Constants/Reference/reference.html%23//apple_ref/doc/uid/TP40009539-CH4g-DontLinkElementID_48

2 голосов
/ 30 декабря 2010

Я решил, что лучший способ справиться с этим - определить UTI файла, используя функции UT *, чтобы получить UTI из расширения файла. К сожалению, это означает, что AVI-файлы по-прежнему импортируются, поскольку ОС знает, что это фильмы, хотя их нельзя воспроизвести, но, похоже, это не вызывает особых проблем.

...