سؤال

مجرد البحث عن كيفية إضافة علامة مائية أو نوع من التراكب إلى الفيديو باستخدام الكاكاو. لا تبحث عن خطوة بخطوة (على الرغم من أن ذلك سيكون رائعًا) ، ولكن أكثر أو أقل يبحث عن المكان الذي يجب أن أبدأ فيه في البحث عن كيفية. هل هناك أطر عمل تم تطويرها للعمل من أجل هذا. أرغب في شيء أصلي للكاكاو أو الهدف-C أو C لأنني أود في النهاية إعطاء هذا الأمر على iPhone. أي مساعدة ستكون رائعة.

هل كانت مفيدة؟

المحلول

لست متأكدًا مما إذا كنت تعني فقط للتشغيل ، أو إذا كنت ترغب في تصدير مقطع فيديو بعلامة مائية ستظهر على لاعبين آخرين.

إذا كنت تقصد فقط للتشغيل ، فيمكنك فقط إضافة عرض أعلى عرض المشغل على Mac و iPhone يحتوي على العلامة المائية.

إذا كنت ترغب في الحصول على علامة مائية على الفيديو نفسه ، فهذا أمر صعب على جهاز Mac وربما مستحيلًا على iPhone دون إعادة كتابة QuickTime بشكل أساسي.

على جهاز Mac ، قد يبدو الرمز هكذا (تحتاج إلى استيراد Qtkit):

// 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);

... وهذا كل شيء! يحتوي فيلمك الآن على علامة مائية ، ويمكنك تصديره للملف.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top