QTKit - Mesclar dois vídeos com largura e altura diferentes?

Acabei de criar um aplicativo simples que usa o QTKit para mesclar dois vídeos juntos

Aqui está oproblema

Acabei de descobrir que, se eu tentar mesclar dois vídeos com largura e altura diferentes, a saída é um vídeo cuja altura e largura são iguais ao vídeo grande, mas contém o pequeno com bordas pretas e larga

Questão

Como posso unir dois vídeos e obter um vídeo de saída com o formato correto (largura / altura)?

Exemplo para entender melhor o que eu preciso:

Tenho dois vídeos:

Video 1 = 1920 x 1280 Vídeo 2 = 1280 x 960

O que eu quero: Um vídeo em 1920 x 1280 (é necessário aumentar a escala e cortar o pequeno)

Código

-(void)voidMethodToCombine {


NSError *err = nil;
QTMovie *myCombinedMovie = [[QTMovie alloc] initToWritableData:[NSMutableData data] error:&err];
if (err)
{
    NSRunAlertPanel(@"Errore nella creazione del video",[err localizedDescription], nil, @"Chiudi", nil, nil);
    return;
    return;
}


// Create the File Open Dialog class.
NSSavePanel *savePanel = [NSSavePanel savePanel]; //Dove salvo il video ?


if ([savePanel runModal])//Se premo ok
{   
    [indicatore setUsesThreadedAnimation:YES];
    [indicatore startAnimation:self];
    NSURL *saveURL = savePanel.URL;
    NSString *savePath = [saveURL path];
//Prelevo i 2 percorsi e gli inserisco negli array

NSString *video1 = [URLVideo1 stringValue];
NSString *video2 = [URLVideo2 stringValue];

NSURL *theURLvideo1 = [NSURL fileURLWithPath:video1];

NSURL *theURLvideo2 = [NSURL fileURLWithPath:video2];

if((theURLvideo1) && (theURLvideo2)) {



NSArray *myMovieURLs = [NSArray arrayWithObjects:theURLvideo1,theURLvideo2, nil];

for (NSURL *url in myMovieURLs)
{
    QTMovie *theMovie = [QTMovie movieWithURL:url error:&err];
    if (err){
        NSRunAlertPanel(@"Errore durante il caricamento di uno dei film",[err localizedDescription], nil, @"Chiudi", nil, nil);
        return;
    }
    QTTimeRange timeRange = QTMakeTimeRange(QTZeroTime, [theMovie duration]);
    QTTime insertionTime = [myCombinedMovie duration]; 
    [myCombinedMovie insertSegmentOfMovie:theMovie timeRange:timeRange atTime:insertionTime];
}

NSDictionary *writeAttributes = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:YES], QTMovieFlatten, nil]; 
//Pannello di path salvataggio

bool success = [myCombinedMovie writeToFile:savePath withAttributes:writeAttributes error:&err];




[indicatore stopAnimation:self];
NSBeep();
NSString *dove = [[NSString alloc] initWithFormat:@"Video esportato in:\n%@",savePath];
NSRunAlertPanel(@"Esportazione avvenuta con successo!", dove, @"Ok", nil, nil);

if (!success)
{
    NSRunAlertPanel(@"Errore durante il salvataggio del video.",[err localizedDescription], nil, @"Chiudi", nil, nil);
    return;
    return;
}
}
//Se non esiste alcun percorso
else {

    NSRunAlertPanel(@"Impossibile selezionare i file.", @"Controlla di aver specificato un percorso.", @"Chiudi", nil, nil);
}

questionAnswers(2)

yourAnswerToTheQuestion