QuickLook support in 10.14 (and forward?)

349 views
Skip to first unread message

Giova Untitled

unread,
Oct 13, 2020, 5:28:19 PM10/13/20
to perian discussion
Hello everyone,

Didn't actually know where to write to I came out here so maybe some devs could be interested in this:

@Marginal on GitHub, the developer of the QLVideo quicklook plugin, @gitguys and @krokofant on GitHub too discovered that "that movie previews aren't produced by the QuickLook generator plugin /System/Library/QuickLook/Movie.qlgenerator. (Presumably this is because QuickLook generator plugins can't produce anything other than static text or images). Instead, movie previews are produced by /System/Library/Frameworks/Quartz.framework/Frameworks/QuickLookUI.framework/PlugIns/Movie.qldisplay or ./LegacyMovie.qldisplay. (The former uses AVKit, the latter QTKit)."

So there's one way one could theoretically enable full video preview in quicklook using an old version of Perian on newer versions of macOS this way:

1. disable SIP
2. install Perian
3. backup /System/Library/Frameworks/Quartz.framework/Frameworks/QuickLookUI.framework/PlugIns/Movie.qldisplay and delete it
4. now sudo ln -s /System/Library/Frameworks/Quartz.framework/Frameworks/QuickLookUI.framework/PlugIns/LegacyMovie.qldisplay /System/Library/Frameworks/Quartz.framework/Frameworks/QuickLookUI.framework/PlugIns/Movie.qldisplay
5. re-enable SIP

A good idea @Marginal also had was to add to his quicklook plugin some sort of way to detect if LegacyMovie had its original quicktime plugins, since then apparently removed, but the source code has references to the hack.

A great idea would really be to re-build a new 64-bit version of Perian with some new version of ffmpeg's libav so that legacymovie could have some new QT plugins to point to. I really didn't understand if that was also supposed to work on Catalina and later but since the hack is referenced in a pretty recent commit it seems things could still work out.

Is anyone able to do some sort of update like that?

I only found these GitHub Perian repos being updated:
Thanks in advance.
-- Giova

Chris Forsythe

unread,
Oct 13, 2020, 5:29:38 PM10/13/20
to perian-...@googlegroups.com
Hi Giova,

Could you sum up what you are asking for?

Chris

--
You received this message because you are subscribed to the Google Groups "perian discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to perian-discus...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/perian-discuss/c0784e30-a8cd-4969-bd4b-4241b2cd5f29n%40googlegroups.com.


--
Chris Forsythe

Augie Fackler

unread,
Oct 13, 2020, 5:32:35 PM10/13/20
to perian-...@googlegroups.com
Sadly, there's no way to make QuickTime plugins anymore. That got dropped as part of the move to QuickTimeX or whatever it's called (it's been a couple years), and there was never (AFAIK) a 64-bit compatible QuickTime that took plugins.

"File a radar" I guess, if you want to try and move Apple to offering up the API we'd need...

Giova Untitled

unread,
Oct 14, 2020, 4:37:31 PM10/14/20
to perian discussion
I'm asking if anyone is able to update the Perian built quicktime components, which are apparently part of ffmpeg, in order not to watch them on quicktime (I think most people are using mpv nowadays) but simply in order to watch a full preview of the video through quicklook using the hack that QLVideo quicklook plugin users are using to exploit old style QTkit plugins to show unsupported file formats as they still using the last Perian version (1.2.3) in 2020 which lacks support for most new video formats.

Graham Booker

unread,
Oct 14, 2020, 5:49:03 PM10/14/20
to perian-...@googlegroups.com
I think you are fundamentally misunderstanding something here.  You suggested:
A great idea would really be to re-build a new 64-bit version of Perian with some new version of ffmpeg's libav so that legacymovie could have some new QT plugins to point to.

Augie told you:
… there was never (AFAIK) a 64-bit compatible QuickTime that took plugins.

Essentially, there is no way to make a 64-bit QuickTime component.  The entrypoint code in QT and the like is very much explicitly 32-bit.  It is possible to make a 32-bit component, which is what Perian is.  The 64-bit QuickTime is QuickTime X, which doesn’t allow for third-party components.  There is no API for QuickTimeX components.  This is why Augie suggested:
"File a radar" I guess, if you want to try and move Apple to offering up the API we'd need...

In reading your comment:
I'm asking if anyone is able to update the Perian built quicktime components … to watch a full preview of the video through quicklook using the hack that QLVideo quicklook plugin users are using … to show unsupported file formats

… I presume this is asking to make a new 32-bit version of Perian which adds support for new codecs since the last release (I’m not sure if there are any new containers of consequence)?  If this is what you are asking, this would be a hard sell as it’d be fun to try and get 32-bit code to work on Catalina (and later) and an absolute nightmare to do so for the pending ARM-based macs coming up.  To me this just looks like something which could be a fair amount of work (setting up an old dev environment again) for a gain on platforms which are already out of date (pre-Catalina).  Not to mention the work necessary to update to a newer libavformat/libavcodec of which I’m sure the Perian code is using APIs which are now deprecated.

Also, you suggested that “[Perian is] apparently part of ffmpeg."  It is not; it is built on top of it, linking to the FFmpeg libraries.

I only found these GitHub Perian repos being updated:
The https://github.com/gbooker/perian one is mine.  Notice that https://svn.perian.org and https://trac.perian.org both redirect there.  I hosted the Perian SVN repository for well over a decade.  I decided to do a conversion of that repo to git and push that to GitHub to improve the longevity and ensure that it lived on in case something were to ever happen to my server and its backups.  Additionally it had a bus-factor of 1; if anything happened to me the server would spontaneously disappear at some point later.  Notice that the last commit is just the creation of the README.md.  All other commits in that repo are taken entirely from the SVN repo and the only modification I did was to strip out the binaries for the FFmpeg libs which we did in the days before the project was made public.  So you should really consider this to be the canonical repo at this point.

- Graham

Chris Forsythe

unread,
Oct 20, 2020, 11:04:59 AM10/20/20
to perian-...@googlegroups.com
Well said Graham.

To put it in simple terms, this is not something we're going to pursue. We have all moved on, it's fairly impossible to pull off, and the only place it would work is on machines which people are eventually going to recycle in the next couple of years. This isn't a good idea. Sorry to be the bearer of bad news and all that.

To explain it further:

The project retired a long time ago due to these specific issues. We were and are unable to progress if Apple isn't allowing us to. Apple is not likely to change their stance, we're just a small group of less than 10 people who worked on this project on the side in a volunteer capacity at best because we wanted to. Perian was a lot of fun to work on for me and hopefully for everyone else, but we've all moved on at this point. We did what we could, we tried to make Perian easy to use for people, not throw a bunch of controls at people so you simply installed it and it worked and you forgot it existed unless there was an update, and that was it. With Perian I was able to remove all of my quicktime components from other parties, which amounted to almost 70 of them. The guys did a lot of good work on this project and I'm still very proud of it and will remain proud of it. But we had to let it go, we couldn't move forward and we couldn't keep adding features just to get releases because that would have meant we would end up with an email client worth of options for a plugin which wouldn't keep working with newer operating systems/quicktime/macs in general. This is why we retired the project.

We set the support to 90 days from our notice on the perian website. That was years ago. The source code is available on github, if you somehow figure out a way to make it work with 64 bit you would still have to then get it to work with the new macs with different processors. I do not recommend you go down this path but you are welcome to try. The problems outlined in this thread are what you have to overcome. Good luck to you, if you do get Perian working with all of the problems resolved I would be happy to see it. :)




--
You received this message because you are subscribed to the Google Groups "perian discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to perian-discus...@googlegroups.com.


--
Chris Forsythe

Giova Untitled

unread,
Oct 23, 2020, 8:43:01 PM10/23/20
to perian discussion
Ok got it. I thought it would have been easier but surely apple is not going to change their stance, unfortunately.

Thanks a lot!

Reply all
Reply to author
Forward
0 new messages