Frage

Einfach mal für wie Kakao mit programmatisch ein Wasserzeichen oder irgendeine Art von Overlay Video hinzufügen. Nicht auf der Suche nach einem Schritt für Schritt (obwohl das wäre super), aber mehr oder weniger suchen, wo ich anfangen soll, wie man lernt suchen. Gibt es Rahmenbedingungen entwickelt, um Arbeit für diese. Möchte etwas heimisch Kakao oder Objective-C oder c, weil ich möchte schließlich diese auf dem iPhone gehen geben. Jede Hilfe wäre toll.

War es hilfreich?

Lösung

Ich bin mir nicht sicher, ob Sie nur für die Wiedergabe bedeuten, oder wenn Sie ein Video mit einem Wasserzeichen exportieren möchten, die auf anderen Spielern zeigen werde.

Wenn Sie nur für die Wiedergabe bedeuten, können Sie wahrscheinlich fügen Sie einfach einen Blick auf die Player-Ansicht auf Mac und iPhone, die das Wasserzeichen enthält.

Wenn Sie wie ein Wasserzeichen auf dem Video würde sich ist dies schwer auf dem Mac und wahrscheinlich unmöglich auf dem iPhone ohne wesentlichen Quicktime neu zu schreiben.

Auf dem Mac kann der Code wie folgt aussehen (Sie importieren QTKit benötigen):

// Make a new movie so we don't destroy the existing one
QTMovie* movie = [[QTMovie alloc] initWithMovie:currentMovie 
                                      timeRange:QTMakeTimeRange(QTMakeTime(0,1000), [currentMovie duration]) 
                                          error:nil];

// Make it editable
[movie setAttribute:[NSNumber numberWithBool:YES] 
             forKey:QTMovieEditableAttribute];

//Get the size
NSValue *value = [movie attributeForKey:QTMovieNaturalSizeAttribute];
NSSize size = [value sizeValue];

// Add a new track to the movie and make it the frontmost layer
QTTrack *track = [movie addVideoTrackWithSize:size];
[track setAttribute:[NSNumber numberWithShort:-1] forKey:QTTrackLayerAttribute];        

// Create a codec dictionary for the image we're about to add
NSDictionary *imageDict = [NSDictionary dictionaryWithObjectsAndKeys:
        @"tiff", QTAddImageCodecType,
        [NSNumber numberWithLong:codecHighQuality], QTAddImageCodecQuality, nil];


// Get the video length in QT speak

QTTime qttime = [currentMovie duration];
NSTimeInterval reftime;

QTGetTimeInterval(qttime, &reftime);

//Add the image for the entire duration of the video 

[track addImage:image forDuration:qttime withAttributes:imageDict];

// Finally, tell the track that it should use its alpha correctly

MediaHandler media = GetMediaHandler([[track media] quickTimeMedia]);
MediaSetGraphicsMode(media, graphicsModeStraightAlpha, NULL);

... und das ist es! Ihr Film hat jetzt ein Wasserzeichen, und Sie können es auf Datei exportieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top