2015-01-03 2 views
3

После исследования партий на StackOverflow и ссылках на классы, iOS MPMoviePlayerController не может воспроизводить видео файлы .mov. AVPlayer может воспроизводить файлы .mov, но нет элементов управления.Обходное решение для воспроизведения видео .mov-файла в приложении iOS? Также связано с Adobe Flash Animations

Я хочу, чтобы мое приложение воспроизводило файлы .mov, потому что Adobe Flash Animation предоставляет .mov как самое чистое и естественное видео. Если я конвертирую одно и то же видео в mp4 (поддерживаемые форматы), есть потеря в качестве, даже когда я поворачиваю скорость видео до 100 МБ/с и видео высокого качества.

Весьма иронично, QuickTime является интеллектуальной собственностью Apple, а ее продукты не поддерживают видео файлы .mov.

Как мне обойти эту проблему?

ответ

5

MPMoviePlayerController (и iOS в целом) поддерживает файлы .mov. См. Apple class documentation, section "Supported Formats". Но поддерживается только ограниченное количество видеокодеков.

Обманчиво, формат Quicktime «.mov» не является видеокодеком, а скорее форматом аудио/видеоконтейнера, который может содержать видео и аудио (и некоторые другие вещи) в любом количестве кодеков сжатия (h.264, mpeg2 , ProRes, MJPEG, AAC, mp3 и т. Д.)

Ваши файлы не работают, потому что они включают в себя видео, сжатые с помощью кодека, который iOS не поддерживает (может быть, PhotoJPEG, если это Flash-анимация?). Вы можете проверить формат своих видеороликов, открыв их в Quicktime Player в Mac OS X и нажав «Показать инспектор видео» в меню «Окно».

Невозможно добавить поддержку дополнительных кодеков в собственную систему воспроизведения видео iOS (MPMoviePlayerController и друзей). Это оставляет два варианта;

  • Перепакуйте файлы, чтобы сделать их совместимыми
  • Используйте различные рамки воспроизведения видео.

Вы говорите, что вы уже попробовали повторно сжать файлы, но это по-прежнему лучший вариант. Я рекомендую вам попробовать перекомпоновать файлы с помощью Handbrake. Кодек h.264 способен к отличным результатам (см. Фильмы BluRay, магазин iTunes Movie и т. Д.)

Если вам действительно нужно воспроизвести анимацию в их текущем формате, вам нужно использовать другую среду воспроизведения видео , Я предлагаю вам посмотреть на libVLC и VLCKit из excellent VideoLan project (у меня возникают проблемы с доступом к страницам проекта VLCKit, но a fork is available here). Имейте в виду, что не-родное воспроизведение видео, скорее всего, не будет аппаратным ускорением, и поэтому съест батареи ваших пользователей.

Последнее, если ваши видео короткие и тихие ... может ли анимированный GIF быть вариантом?