利用GPUImage添加實時文字水印和gif圖片水印

公司新聞視頻直播需要添加實時文字和gif水印辱魁,在網上看了下大部分都是基于GPUImage來處理的烟瞧,發(fā)現大部分添加水印都是靜態(tài)圖片,么有加載gif圖片水印的染簇。于是自己嘗試實現参滴,這里參考了落影l(fā)oyinglin給視頻添加水印的思路。

主要思路:

1锻弓、把gif圖片中的每幀圖片提取出來保存到數組中砾赔,用索引index記錄當前幀的位置
2、再把每幀圖片和文字轉為GUPUIElement對象
3、在實時視頻的filter中的setFrameProcessingCompletionBlock中去update过蹂,index++十绑,當index等于幀數組count-1聚至,重置為零酷勺。
這樣就能看到水印為gif動圖。

代碼實現
GPUImageView *gpuImageView = (GPUImageView*)self.view;

GPUImageVideoCamera *videoCamera = [[GPUImageVideoCamera alloc] initWithSessionPreset:AVCaptureSessionPreset640x480 cameraPosition:AVCaptureDevicePositionBack];

videoCamera.outputImageOrientation = UIInterfaceOrientationPortrait;
_videoCamera = videoCamera;

//添加時間戳水印和圖片水印
UIView *contentView = [[UIView alloc] initWithFrame:self.view.bounds];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy年MM月dd日hh:mm:ss"];
NSDate *currentDate = [NSDate date];
NSString *timeString = [formatter stringFromDate:currentDate];

UILabel *timestampLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 30, 300, 30)];
timestampLabel.text = timeString;
timestampLabel.textColor = [UIColor redColor];
[contentView addSubview:timestampLabel];

UIImageView *imageV = [[UIImageView alloc] initWithFrame:CGRectMake(10, 100, 300, 80)];



NSString *path = [[NSBundle mainBundle] pathForResource:@"dong.gif" ofType:nil] ;
NSData *imageData = [NSData dataWithContentsOfFile:path];
_gifImages = [NSArray array];
_gifImages = [UIImage yj_animatedGIFImagesWithData:imageData];
_duration = [UIImage yj_animatedGIFDurationWithData:imageData];
_currenIndex = 0;
imageV.image = _gifImages[_currenIndex];
[contentView addSubview:imageV];


//創(chuàng)建水印圖形
GPUImageUIElement *uiElement = [[GPUImageUIElement alloc] initWithView:contentView];



//創(chuàng)建濾鏡
GPUImageDissolveBlendFilter *filter = [[GPUImageDissolveBlendFilter alloc] init];
filter.mix = 0.5;

GPUImageFilter *videoFilter = [[GPUImageFilter alloc] init];
[videoCamera addTarget:videoFilter];

[videoFilter addTarget:filter];
[uiElement addTarget:filter];

// 添加濾鏡

[filter addTarget:gpuImageView];

[videoCamera startCameraCapture];

// 這句代碼很重要扳躬,沒有的話不會更新
[videoFilter setFrameProcessingCompletionBlock:^(GPUImageOutput *output, CMTime time) {
   
    
//        CGRect frame =  imageV.frame;
//        frame.origin.x += 1;
//        frame.origin.y += 1;
//         imageV.frame = frame;
    

    
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"yyyy年MM月dd日hh:mm:ss"];
    NSDate *currentDate = [NSDate date];
    NSString *timeString = [formatter stringFromDate:currentDate];
    timestampLabel.text = timeString;
    
    
    _currenIndex ++;
    imageV.image = _gifImages[_currenIndex];
    
    if (_currenIndex == _gifImages.count -1) {
        
        _currenIndex = 0;
    }
    
    [uiElement update];
    
}];

如果有更加好的思路脆诉,希望告知,謝謝贷币!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末击胜,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子役纹,更是在濱河造成了極大的恐慌偶摔,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件促脉,死亡現場離奇詭異辰斋,居然都是意外死亡,警方通過查閱死者的電腦和手機瘸味,發(fā)現死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進店門宫仗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人旁仿,你說我怎么就攤上這事藕夫。” “怎么了枯冈?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵毅贮,是天一觀的道長。 經常有香客問我尘奏,道長滩褥,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任罪既,我火速辦了婚禮铸题,結果婚禮上,老公的妹妹穿的比我還像新娘琢感。我一直安慰自己丢间,他們只是感情好,可當我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布驹针。 她就那樣靜靜地躺著烘挫,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上饮六,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天其垄,我揣著相機與錄音,去河邊找鬼卤橄。 笑死绿满,一個胖子當著我的面吹牛,可吹牛的內容都是我干的窟扑。 我是一名探鬼主播喇颁,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼嚎货!你這毒婦竟也來了橘霎?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤殖属,失蹤者是張志新(化名)和其女友劉穎姐叁,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體洗显,經...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡外潜,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了墙懂。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片橡卤。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖损搬,靈堂內的尸體忽然破棺而出碧库,到底是詐尸還是另有隱情,我是刑警寧澤巧勤,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布嵌灰,位于F島的核電站,受9級特大地震影響颅悉,放射性物質發(fā)生泄漏沽瞭。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一剩瓶、第九天 我趴在偏房一處隱蔽的房頂上張望驹溃。 院中可真熱鬧,春花似錦延曙、人聲如沸豌鹤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽布疙。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間灵临,已是汗流浹背截型。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留儒溉,地道東北人宦焦。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像睁搭,于是被迫代替她去往敵國和親赶诊。 傳聞我的和親對象是個殘疾皇子笼平,可洞房花燭夜當晚...
    茶點故事閱讀 43,490評論 2 348

推薦閱讀更多精彩內容

  • 發(fā)現 關注 消息 iOS 第三方庫园骆、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,059評論 4 62
  • 你看啊寓调,她打扮的好妖艷啊锌唾。聽到旁邊路過的學妹這么說,我也好奇的轉過頭夺英,然而我看到的那個女生也只是化了眼線并涂...
    里昂小姐閱讀 243評論 2 0