簡體   English   中英

我可以使用GPUImage在視頻上設置幀嗎?

[英]Can i set frame on video with GPUImage?

我有一個本地視頻文件,現在我已經在GPUImage庫的幫助下應用了濾鏡,這是使用GPUImage制作經過過濾的視頻的代碼

movieFile = [[GPUImageMovie alloc] initWithURL:sampleURL];
pixellateFilter = [[GPUImagePixellateFilter alloc] init];
GPUImageRotationFilter *rotationFilter = [[GPUImageRotationFilter alloc] initWithRotation:kGPUImageRotateRight];

[movieFile addTarget:rotationFilter];
[rotationFilter addTarget:pixellateFilter];

NSString *pathToMovie = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/Movie.m4v"];
unlink([pathToMovie UTF8String]);
NSURL *movieURL = [NSURL fileURLWithPath:pathToMovie];

movieWriter = [[GPUImageMovieWriter alloc] initWithMovieURL:movieURL size:CGSizeMake(480.0, 640.0)];
[pixellateFilter addTarget:movieWriter];

[movieWriter startRecording];
[movieFile startProcessing];

[pixellateFilter removeTarget:movieWriter];
[movieWriter finishRecording];

現在我想在此視頻文件上應用幀,我的意思是我已經獲取了該視頻文件的naturalSize。 並要在此視頻文件上應用帶有naturalSize的幀。

我能怎么做 ? 可能嗎 ?

問候,

********解決了********根據我的限制,在視頻上添加了無法使用GPUImage的圖像。非常感謝此鏈接

是的,您可以按照以下代碼通過以下代碼來獲取視頻文件的自然大小:@ mayur-shrivas按照GPUImage:將文件管理器應用於現有視頻文件

AVURLAsset *asset = [AVURLAsset URLAssetWithURLNSURL fileURLWithPath:pathToMovie] options:nil];
AVAssetTrack *videoAssetTrack = [[asset tracksWithMediaType:AVMediaTypeVideo] objectAtIndex:0];
movieWriter = [[GPUImageMovieWriter alloc] initWithMovieURL:movieURL size:CGSizeMake(videoAssetTrack.naturalSize.width, videoAssetTrack.naturalSize.height)];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM