Поддержка Quick Look для неродных видеофайлов (.avi, .mkv) на Mavericks

В прошлом мы могли получить кодеки для DivX/XviD/MPEG4 и поддержку контейнеров, таких как AVI, MKV, в функции быстрого просмотра Mac OS X с использованием Perian (согласно этому вопросу ).

Как отмечается на сайте Perian, разработка прекращена, и будущие версии могут продолжать работать, а могут и не работать. Похоже, что с обновлением до OS X 10.9 «Mavericks» ОС или API Quick Look изменились настолько, что Perian больше не работает.

Есть ли альтернативы? В идеале одно приложение делает все, как Perian, но даже список отдельных кодеков и/или плагинов для файлов видеоконтейнеров был бы полезен.

NB : этот вопрос не о видеоплеерах многие из них поддерживают больше, чем те, которые можно воспроизводить через встроенный проигрыватель QuickTime. Этот вопрос касается кодеков/плагинов для QuickTime в OS X, позволяющих ему и Quick Look (и приложениям, использующим ОС для воспроизведения видео) открывать/воспроизводить видеофайлы/форматы, не имеющие встроенной поддержки.

Ответы (5)

Я загрузил плагины QuickLook и Spotlight здесь: https://github.com/Marginal/QLVideo/wiki . Это позволяет Finder отображать эскизы, статические превью, обложку и метаданные для большинства типов видеофайлов, включая .asf, .avi, .flv, .mkv, .rm, .webm, .wmf и т. д.

Хорошее начало, очевидным улучшением будет воспроизведение видео, а не просто просмотр статического изображения постера в QuickLook.
К сожалению, это невозможно — текущие API QuickLook/AVFoundation не позволяют этого. ( Обсуждение см. в выпуске №3 ).
QLVideo показывал миниатюры в Quicklook, но также превращал встроенные видео .gifv в Safaris в миниатюры (например, на imgur). Я это не рекомендую
@ILiΛSKΛЯiM — Safari не использует QuickLook для отображения видео, поэтому QLVideo не является причиной вашей проблемы. например , эта страница по-прежнему хорошо отображается в Safari на Mavericks и Yosemite, если установлен QLVideo. Проверьте настройки плагина QuickTime в Safari -> «Настройки» -> «Безопасность» или настройки ClickToPlugin , если у вас установлено это расширение Safari. Если вы все еще хотите создать отчет об ошибке в QLVideo, сделайте это здесь .

«QuickTime на Mavericks» больше не QuickTime — это «AV Foundation». QuickLook и QuickTime Player основаны на этом «новом QuickTime».

«AV Foundation» исходит из iOS, также был реализован для Mac OS X и не предлагает расширений (и никогда не будет), таких как кодеки / плагины. Как говорит Apple: все, кроме MPEG-4 (H.264), устарело и должно быть преобразовано.

На мой взгляд, пользователей сбивает с толку тот факт, что Apple по-прежнему использует название «QuickTime». Потому что Mavericks по-прежнему содержит «старый QuickTime».

QTKit — это мост между старым QuickTime и новым QuickTime. Он не устарел и содержит видео конвертер. Таким образом, несовместимые форматы видео могут быть преобразованы в MPEG-4.

Другими словами: следуйте плану Apple и конвертируйте все свои видео. Тогда QuickLook будет доступен для вас.

Это должно быть самое раздражающее изменение в Mavericks. Из того, что я понимаю, новая версия Quicktime еще недостаточно хорошо документирована, чтобы разрешить эту разработку.

Интересная точка зрения, что проблема в документации Quicktime. Я не вижу никаких признаков того, что текущая документация препятствует разработке подключаемого модуля Quick Look — developer.apple.com/search/… Откуда вы взяли, что это на Apple, а не сторонние разработчики, которые находят финансирование или время для поддерживать проект Perian в актуальном состоянии? Ясно, что части QTkit устарели, и всем разработчикам, использующим этот код, необходимо переработать AVkit в соответствии с этим примечанием: developer.apple.com/library/mac/technotes/tn2300/_index.html .
Кроме того, я надеюсь, что не проявлю враждебности. Замечательно объяснить, почему что-то старое больше не работает, но я думаю, что разработчики Perian знали о грядущих изменениях за много лет до того, как они были введены в действие, и приняли осознанное решение оставить код без изменений, чтобы справиться с изменениями, которые, как они знали, были в горизонт.
@bmike Я думаю, что OP имел в виду то, что API-интерфейс плагина AVFoundation (который существует, его использует программное обеспечение Apple, такое как Final Cut) недокументирован, следовательно, отсутствуют какие-либо сторонние видеокодеки. Генераторы QuickLook (в отличие от плагинов QuickLook Display, которые также недокументированы) не могут быть анимированы, поэтому этот путь также заблокирован.

Поскольку этот вопрос для Mavericks, вы можете сделать:

sudo mv /System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/QuickLookUI.framework/Versions/A/PlugIns/Movie.qldisplay /System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/QuickLookUI.framework/Versions/A/PlugIns/AVFoundationMovie.qldisplay && ln -s /System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/QuickLookUI.framework/Versions/A/PlugIns/LegacyMovie.qldisplay /System/Library/Frameworks/Quartz.framework/Frameworks/QuickLookUI.framework/PlugIns/Movie.qldisplay

В Mavericks это вернет анимированные предварительные просмотры QuickLook для любого формата, в котором есть плагин QuickTime.

По какой-то причине Apple оставила в Mavericks подключаемый модуль QuickLook Display, LegacyMovie.qldisplayкоторый использует QuickTime вместо AVFoundation и, таким образом, поддерживает больше типов мультимедиа. Однако QuickLook не использует этот плагин, вместо этого он использует основанный на AVFoundation Movie.qldisplay.

Приведенная выше команда терминала переименовывается Movie.qldisplayв AVFoundationMovie.qldisplay(чтобы у вас была резервная копия), а затем символически ссылается LegacyMovie.qldisplayна Movie.qldisplay, поэтому QuickLook будет использовать версию на основе QuickTime. ( LegacyMovie.qldisplayбудет по-прежнему доступен в исходном месте для всего, что на самом деле его использует).

С помощью приведенной выше команды и моего обновленного плагина FFusion QuickTime я могу просматривать видео H265 и даже VP9 в QuickLook! (Пока видео имеет разрешение 1080p или ниже; даже немодифицированный QuickLook, похоже, не любит 4K независимо от кодека.)

Я думаю , что это может работать на немного более новых ОС? Я не уверен, когда Apple избавилась от LegacyMovie.qldisplay. Это определенно не будет работать на Catalina, поскольку среда QuickTime 32-битная. Обратите внимание, что в версии 10.11 и более поздних вам потребуется (временно) отключить защиту целостности системы.

Извините, я увидел этот вопрос на восемь лет позже!

Я настоятельно рекомендую qlMoviePreview .