Quicktime

Problems playing/using Quartz Movie with custom plugin

callum's picture

I have an application where I need to make a Quartz movie using Quartz Composer and a custom plugin and have it run in a 3rd party application which is capable of playing Quartz movies.

As a first step I successfully developed my custom plug in using Xcode and 'built' a composition in Quartz Composer. I got this all running in Quartz Composer and this works totally fine in the viewer inside Quartz Composer.

Subsequently I tried to play it in the 3rd party application and it would not play, other parts of the movie played but my plugin simply did not function. I then tried QuickTime player and on one machine it behaved exactly the same - movie played but my plugin didn't function. On another machine I get the error "Quicktime player quit unexpectedly while using the "My Plugin Name" plug-in.

After this I was a little baffled and I read the forums and I came across the notion of Safe and Unsafe patches. I am wondering if this is why my patch doesn't work in applications other than Quartz composer.

If I enable the "Indicate Unsafe Patches" menu item then it shows an unlocked padlock icon on plug in presumably indicating it is in fact Unsafe.

On reading the forums further I came across mention of the Kineme Core plug in for QC, and that it had a UI for telling the system which patches were safe for which applications. I installed this and selected the KinemeCore Preferences, Unsafe mode, I successfully added the QuickTime player application to the application list but it fails to show my 'Custom patch' in the list of unsafe patches...

Some questions:

Am I on the right track, is it not playing my custom plugin because it is considered unsafe?
How can I tell 'an application' or the system that it is safe?
What is the correct way do achieve what I am wanting to do?
Any ideas on why I can't see my patch in the KinemeCore preferences Unsafe Mode list...
Any other ideas, useful information welcome.

I should also say I am mostly a Windows developer so I am new to Quartz technolgy and developing on a Mac.

Thank you,
Kind Regards,
Callum.

Quartz Builder/Quicktime Thread issue

borego's picture

Hey all,

I'm running into what seems to be some trouble with Quartz Builder. Basically, we have a video capture going onto a billboard and sending the feed to a Syphon server as well to allow users to record their own videos. Everything works fine when run in Quartz Composer, but once I try to run it through QB to package it as an app, the video feed crashes almost immediately.

After turning on error logging, it seems to be a threading issue:

[12:02:42.558] ERROR: Running movie on thread 0x1026bc000 while initialized on thread 0x13b889000 [12:02:42.558] Execution failed at time 71.591 [12:02:42.591] ERROR: Running movie on thread 0x1026bc000 while initialized on thread 0x13b889000 [12:02:42.591] Execution failed at time 71.624 [12:02:42.624] ERROR: Running movie on thread 0x1026bc000 while initialized on thread 0x13b889000 [12:02:42.624] Execution failed at time 71.658

and so on.

We do have a version that seems to work despite compilation, so I guess we're not completely up the creek, but knowing what went wrong and how to fix it would also be great.

Any thoughts would be greatly appreciated :D

Playing videos using Movie Importer not working in QuartzBuilder version 1.4

I am testing a very simple patch that imports and plays a small Quicktime sample movie.

It plays well as a normal QTZ file but when I try to run the app created by QuartzBuilder 1.4 it opens the window but does not display anything.

I can get the movie to display temporarily, either by switching tasks (tab-command task switching) or by dragging the window around the screen.

When I do this, the I see samples of the movie within the window. As soon as I stop doing either of these things, the movie freezes at its current frame.

I urgently need to launch a QTZ app fullscreen on a second monitor at startup for a public exhibition that goes live soon. This is why I purchased QuartzBuilder.

I would really appreciate some help getting this working.

I'm using a 2.6 GHz Intel Core 2 Duo MacBook Pro with 3 GB RAM and OSX 10.7.3.

I cannot downgrade to pre-Lion release due to other components of the project.

I've attached my test files for your inspection.

Many thanks.

Richard

VideoTools

$32.00

The VideoTools plugin provides support for video input:

  • Firewire video input, bypassing QuickTime.
  • Network camera input, bypassing QuickTime.
  • Video file input, bypassing QuickTime.
  • Video file input, running QuickTime in a separate process.

Unlike Quartz Composer's built-in Movie Importer patch, VideoTools doesn't block compositions while a video loads. With the non-QuickTime video file input patch, videos load faster. And, unlike Movie Importer, VideoTools works reliably with threaded third-party applications (such as QuartzBuilder).

Supported Cameras, Containers, and Codecs

Supported Firewire Cameras

Any IIDC/DCAM-compliant Firewire camera, including:

  • DMx 21BF04 by The Imaging Source
  • Flea2 Color (FL2G-13S2C) by Point Grey Research
  • Flea2 Mono (FL2G-13S2M) by Point Grey Research
  • iSight by Apple (External Firewire)

(See also dc1394's camera list.)

Incompatible Cameras

  • Firefly FFMV-03M2M by Point Grey Research

Supported Network Cameras

Supported Video Player Movie Containers

  • .mov
  • .avi

Supported Video Player Movie Codecs

  • MJPEG
  • PNG
  • RLE ("QuickTime Animation")
  • ProRes 422
  • ProRes 422 (Proxy)
  • ProRes 422 (HQ)
  • Partially Supported:
    • H.264 — stutters when played backward
    • ProRes 4444 — alpha channel is ignored
  • Currently Unsupported:
    • Other formats that use interframe encoding (MPEG-4, ...)

Supported QuickTime Player Movie Containers and Codecs

  • Anything supported by QuickTime 7

Known Issues

  • Kineme VideoTools does not play audio.

3rd-party software

This software uses code from libdc1394 and FFmpeg, both licensed under the LGPLv2.1. FFmpeg's source can be downloaded here.

Credits

Unsupported on OS X Mountain Lion (10.8) and above

Please download the trial and make sure it meets your needs before purchasing. Due to bugs in Apple's Quartz Composer framework, we cannot guarantee that Kineme plugins will work properly on Mac OS 10.8 and above. Our focus has shifted to developing Vuo.

Movie Runner Crossfader (sans iterators)

cradle's picture

Attached is a proof of concept folder scanner/crossfader I developed for a birthday party.

It scans a folder for all movies (recursively) and then plays them sequentially with an 'x' second crossfade between adjacent movies.

The movies need to be longer that 'crossfade time' seconds or weirdness will happen (as it's using 2 players and mixing between them).

This could be more simply executed by using CoGe or other VJ app, but I like staying in QC as much as possible. Power to the people.

p.s.

I'd love to know how to make 'virtual patches' or 'macros' inside a patch that don't require external plugins/patches to be installed (i.e. my "movie player" macro is duplicated in this patch, and I'm not sure how to get around this for the simplest method of distribution [which rules out external patches])

p.p.s

you could extend this example to have 3,4,5...n dedicated players/mixers, and such a project would be very, very cool. maybe I'll do it myself when I need such a thing.