Quick Time Conversion

Topics: User Forum
Jan 22, 2007 at 7:18 AM
Hi,

I have a requirement where in I have to convert a Quick Time Movie *.mov to mobile content such as 3GPP and WMV . I have downloaded the Splicer source code and have tested with different inputs.It works great with WMV and MP4,but it seems that it doesn't accept mov as input.

What is the possible reason for it? Do we need any filters or libraries to be used in the code.

How can i convert the MOV Files using this application.Your help and suggestions are required.

Thanks in Advance.

QTDev.

Coordinator
Jan 22, 2007 at 8:41 PM
Hi,

Yes "out of the box" quick time support is virtually non-existent with DirectShow/DES - however there are a few options open to you - what your looking for is a Direct Show filter which which to read quick time files.

First off, try the quick time alternative (http://www.free-codecs.com/download/QuickTime_Alternative.htm) - this is an alternative to using Apples quicktime binaries, and includes a direct show filter for quick time media - I've used this in the past for converting 3gpp content coming from mobile phones - just make sure you install the optional filter and everything should just "work".

Alternatively, if you look through the contributions project there is an example "media file assistant" - this class demonstrates using a temporarily registered filter which comes as part of the "grouper" client (http://www.grouper.com/) to override the default quick time filter associations - the grouper filter is capable of parsing qt/3gpp and even amr content.

I would say for commercial applications this might be frowned upon (which is why we don't bundle the DLL with the contributions project - but I can't see the harm in messing around with it for home-built projects).

Last of all, I have trialled a commercial product in the past - Medialooks quicktime filter - it works well (http://www.medialooks.com/products/directshowfilters/quicktimefilter.html) and the licensing isn't too unpleasant.

The last two options both require that you have quick time installed.

Let me know if you need any more pointers - or if you feel like giving something back, then perhaps you can post a small guide on how you got quick time working and we can add it to the wiki :)

Cheers,

- Alex
Jan 23, 2007 at 8:26 AM
Hi,

Thanks bittercoder. We worked around few samples using QuickTime Alternative. It is working good when the input is MOV and output is MP4. But it does not generate a 3GPP file. It does write a file for 3GPP,but it cannot be rendered in QuickTime Player. The error shown is "not a valid movie file" .Below is the sample code for MOV to MP4 conversion.


string outputFile = "D:\\xxxx.MP4";
using (ITimeline timeline = new DefaultTimeline(15))
{
timeline.AddAudioGroup().AddTrack();
IGroup videoGroup = timeline.AddVideoGroup(32, 320, 240);
ITrack videoTrack = videoGroup.AddTrack();
timeline.AddVideoWithAudio("D:\\xxxxx.mov");
timeline.AddClip("D:\\xxxxxx.wav", GroupMediaType.Audio, InsertPosition.Absoloute, 3.0, 0, 1.1);
using (
// render it to windows media
IRenderer renderer = new WindowsMediaRenderer(timeline, outputFile, WindowsMediaProfiles.HighQualityVideo))
{
renderer.Render();
}


Can u please tell me a solution for 3GPP Conversion. Thanks in advance.

QTDev.