Using the right decoder for your video content
Dec/090

One thing that appears obvious to us after more than 10 years of working with the various solutions that can be used on Mac and Windows to decompress video is that not all solutions are equal.
We believe that our users should be able to play almost any kind of media with the ArKaos software and at the same time we do everything a team of developer can to get the best performance on the platforms supported.
Practically the ArKaos software can play media files through the following decoders: QuickTime, FFmpeg, the Flash plugin, Quartz Composer and Windows Media Player. Currently (December 2009) we don’t allow the user to decide through which solution a media will be decoded, instead we try to make the best decision based on our many years of experience and tests. In the case where several video codecs (such as Mpeg4) can be played through different decoders like QuickTime, FFmpeg and Windows Media Player, we always prefer, no matter the platform, to first try to handle those codecs with FFmpeg as we have always had the best results with FFmpeg during our tests, and here’s why..
Quartz Composer integration in GrandVJ 1.2
Nov/095
GrandVJ 1.2 now allows to use Quartz Composer .qtz files directly, both as sources and effects. In older versions it was necessary to save them as QuickTime movies with the big drawbacks that it was slow and it did not allow to change compositions variables.
We have optimized the Quartz Composer integration in GrandVJ 1.2 so that the compostions are rendered natively through the fastest available interface.
Finally, when using a composition as an effect the application will scan the published inputs and map them as effect parameters, if the format is compatible with the engine. GrandVJ can automatically map parameters that are float values, indexes, colors and booleans and there’s one visual input of the composition that receive the cell visual.
Now let’s have a quick look at how you can use Quartz compositions with GrandVJ..
Why software genlock at 60 FPS does matter!
Sep/091
MediaMaster 1.1 brings important modifications to our video engine and particularly how the video synchronization and multi threading decoding is processed. It has been optimized to perform what can be called “software genlock” in order to ensure the best possible fluidity on computers equipped with multi core processors.
The genlocking we refer to is the action of locking the frequency of a media to a reference signal or clock (check out the related wikipedia article for a complete explanation).
Let’s examine quickly the process of displaying frames. Roughly, 3 steps must be acheived:
- get video frames from the disk
- upload them to the graphic card
- do the composition / blending of the layers and present them to the display
Now let’s describe how these steps are achieved without genlock and with genlock:
New video codec based on texture compression
Jul/091
When it comes to media playback, at ArKaos we always fight to get the best out of current computer configuration.
When you are in the show industry and try to find out the best way to compress your content it’s still a little bit of black magic. While some codec are able to compress video very well they are heavy to handle for the machines, even more, the codec that does the best job at compressing while keeping a good quality such as H264 are very bad when you need to scratch your media.
The best codec for users that need to interact a lot with the content should allow to play forward and backward easily and should allow to jump into the content quickly.
Recently, I’ve heard about experiments with a file format designed by graphic card manufacturers and based on texture compression DXT1 DXT3 or DXT5 and I was wondering how hard it would be to add support for such a format to QuickTime through a new codec. Being programing for the QuickTime API since it’s version 1.0 beta I was considering the challenge fun and interesting.
Using QuickTime or FFMPEG on a PC?
Jul/090
Here’s a quick tip for PC users: if you use a multi-core/multi-processor machine with GrandVJ or MediaMaster, you will benefit a lot to use codecs that are played through our FFMPEG player rather than through QuickTime.
This is due to the fact that on a PC, the internal QuickTime decoding routines are not capable of multi-threading, which makes it impossible to decode frames in parallel. So even if one layer can run properly using QuickTime libraries, the more layer you pile up, the more the decoding bottleneck will show up.
On Mac OSX, QuickTime is now mostly multi-threaded decoding so it’s not such an issue but we recommend to try to use codec supported by our FFMPEG player in any case.
Important: make sure you understand we refer to the internal QuickTime player and NOT to QuickTime files in general. Some QuickTime files (for example, files based on mpeg/mpeg2/mpeg4/PhotoJPEG/Motion JPEG/H.264 codec) are played through the FFMPEG player.
To know what internal player is used for what file, use the information shown in the visual library:

Visuals library
In this case, both movies are QuickTime files. The first one is read through QuickTime because the Cinepak Codec is not handled by FFMPEG.It will play but it is not optimal.
The second is read through FFMPEG because it’s using H.264 codec, it is therefore better for performances.


