Tag: video操作

CVOpenGL TextureCaches是否与浮点格式不兼容?

在OSX10.4 / iOS5及以上版本中,您可以使用CVOpenGL[ES]TextureCaches优化纹理上传和下载。 用glTexImage2D上传纹理和用glReadPixels从帧缓冲中读取数据,你可以使用CVOpenGL[ES]TextureCache将你的纹理/ FBO操作转换成CoreVideo CVPixelBuffers的语言。 这与字节(可能是短的)大小的整数格式非常吻合,但除了一个奇特的YUV像素格式之外,浮点数在Core Video的像素格式中显然不足。 这是否意味着我不能使用GL_FLOAT纹理并使用CVOpenGL[ES]TextureCaches渲染目标?

如何修复泄漏CVPixelBuffer

请告诉我在这个代码泄漏的地方… //在这里,我用文档目录中的图像做了video – (void) testCompressionSession:(NSString *)path { if ([[NSFileManager defaultManager] fileExistsAtPath:path]) { [[NSFileManager defaultManager] removeItemAtPath:path error:nil]; } NSArray *array = [dictInfo objectForKey:@"sortedKeys"]; NSString *betaCompressionDirectory = path; NSError *error = nil; unlink([betaCompressionDirectory UTF8String]); NSLog(@"array = %@",array); NSData *imgDataTmp = [NSData dataWithContentsOfFile:[projectPath stringByAppendingPathComponent:[array objectAtIndex:0]]]; NSLog(@"link : %@",[projectPath stringByAppendingPathComponent:[array objectAtIndex:0]]); CGSize size = CGSizeMake([UIImage imageWithData:imgDataTmp].size.width, [UIImage imageWithData:imgDataTmp].size.height); //—-initialize […]

AVPlayer空白video:播放声音,但没有video

这个问题有同样的问题,但解决scheme没有奏效。 AVPlayer有时播放空白video:有声音但没有video。 播放空白video时,我们打印了播放器的框架和状态。 该框架是非零,并正确设置。 状态也readyToPlay 。 playfunction也在主线程上调用。 换句话说,玩家层的框架是有效的,并且玩家也准备好玩。 然而,即使声音没有出现,也不会出现video。 这个问题似乎是一个时机。 如果我们在播放video前等待5-10秒,则video每次都能正常播放。 此问题出现在iOS 10上,而不是iOS 8或9上。 苹果论坛上的这个post表明这可能是一个与AVVideoCompositionCoreAnimationTool有关的bug,我们也使用它。 任何解决scheme 在iPhone 7设备上这比iPhone 5s设备更频繁地发生。 码: fileprivate func playVideo(_ videoURL: String, prompt: String) { // Show <playerView> playerView.isHidden = false // Use new video in player playerItem = AVPlayerItem(url: URL(fileURLWithPath: videoURL)) print("STATUS: \(player.status == AVPlayerStatus.readyToPlay). FRAME: \(playerLayer.frame). MAIN THREAD: \(Thread.isMainThread)") player.replaceCurrentItem(with: […]

从较小的尺寸(重新缩放)

我其实是在寻找的不仅仅是质量,而是使用AV基础将整个video调整到更高的分辨率。 我有一个320×240和176×144的mp4质量的video,我想resize为1280x720video,但AVAssetExportSession类不允许从较小的尺寸缩放video。

selectvideo时不要压缩video

我正在IOS中制作video上传应用程序。 我在UIImagePickerController上遇到了问题。 也就是说,当我每当select一个电影,它自动压缩。 我曾尝试过每个VideoQuality选项。 (高,中,低) 我是否使用其他控制器或我自己的控制器? 一段短短的video(5分钟)压缩花费很长时间(几分钟)在我的iPhone(4S)上。 我认为我的应用至less支持超过10分钟的video。 我的代码是这样的。 – (void)showImagePicker:(UIImagePickerControllerSourceType)sourceType { if ([UIImagePickerController isSourceTypeAvailable:sourceType]) { [picker setSourceType:sourceType]; [picker setMediaTypes:[NSArray arrayWithObject:(NSString *)kUTTypeMovie]]; // Video Quality Setting.. [picker setVideoQuality:UIImagePickerControllerQualityTypeHigh]; [self presentModalViewController:picker animated:YES]; } } – (IBAction)showLibrary:(id)sender { [self showImagePicker:UIImagePickerControllerSourceTypeSavedPhotosAlbum]; } – (IBAction)showCamera:(id)sender { [self showImagePicker:UIImagePickerControllerSourceTypeCamera]; }

iOS结合三个video – 旋转中心video

我有三个video 第一个来自后置摄像头。 第二个来自前置摄像头,第三个来自后置摄像头。 video总是以横向模式进行拍摄,右边的主页button。 后置video的方向正确。 使用前置摄像头拍摄的中心video以180度旋转(颠倒)。 我一直在研究和尝试许多方法来转换中心video,没有运气。 我每次都得到相同的结果。 我对整个过程感到非常沮丧。 我在网上阅读的所有内容以及评论者在这里的评论/build议应该可以正常工作,但是不起作用。 无论我尝试进行转换,video都是一样的。 它不断地performance得好像我没有应用任何转换。 没有。 我不明白为什么这个转变会被忽略。 我已经花了几个星期了,而且我到了最后 – 这根本行不通。 这是我的代码的当前迭代: – (void)mergeVideos2:(NSMutableArray *)assets withCompletion:(void (^)(NSString *))completion { AVMutableComposition *mutableComposition = [AVMutableComposition composition]; AVMutableCompositionTrack *videoCompositionTrack = [mutableComposition addMutableTrackWithMediaType:AVMediaTypeVideo preferredTrackID:kCMPersistentTrackID_Invalid]; __block NSMutableArray *instructions = [[NSMutableArray alloc] init]; __block CGSize size = CGSizeZero; __block CMTime time = kCMTimeZero; __block AVMutableVideoComposition […]

Swift:即使video看起来很锐利,从video中提取图像也很模糊。

下面的代码受到SO上的其他post的启发,并从video中提取图像。 不幸的是,即使video看上去很锐利并且完全对焦,图像看起来也很模糊。 代码是否有问题,或者这是从video中提取图像的自然困难? func getImageFromVideo(videoURL: String) -> UIImage { do { let asset = AVURLAsset(URL: NSURL(fileURLWithPath: videoURL), options: nil) let imgGenerator = AVAssetImageGenerator(asset: asset) imgGenerator.appliesPreferredTrackTransform = true let cgImage = try imgGenerator.copyCGImageAtTime(CMTimeMake(0, 1), actualTime: nil) let image = UIImage(CGImage: cgImage) return image } catch { … } }

在iOS上观看UIWebView中的Vimeovideo

我有一个UIWebView的应用程序,我试图查看Vimeovideo。如果我很难链接到www.vimeo.com,vimeo主页和video列表加载,但是,只有当点击声音播放。 如果我跳进移动Safari并去www.vimeo.com,它看起来都一样,但在这里播放全屏模式的video。 我试图让我的UIWebView的行为相同的方式。 我错过了什么? 我已经检查了iOS的所有设备和版本都有相同的结果。 谢谢 更新:它实际上加载video全屏后的视图。 有什么办法可以访问全屏video视图,并把它带到前面? 这里有一些代码在加载。 没什么特别的。 这是在导航控制器上的3个视图。 urlString =[NSMutableString stringWithFormat:@"http://www.youtube.com"] NSURL *url = [NSURL URLWithString:urlString]; NSURLRequest *requestObj = [NSURLRequest requestWithURL:url]; [[self webView]setDelegate:self]; [webView loadRequest:requestObj]; 更新修正 我发现,如果我添加self.view.window.rootviewcontroller.view作为现有的视图的子视图之前推新视图控制器,所有的伟大作品。 谢谢Eric的帮助 [self.view addSubview:self.view.window.rootViewController.view]; [myNavController pushViewController:urlView animated:YES]; [urlView release];

iOS:尝试播放video时,应用程序不时崩溃

请有人帮帮我! 我使用XCDYouTubeKit来实现来自YouTube的video播放。 这是我的代码: self.videoPlayerVC = [[XCDYouTubeVideoPlayerViewController alloc] initWithVideoIdentifier: videoID]; [self.videoPlayerVC presentInView: self.videoContainerView]; [self.videoPlayerVC.moviePlayer prepareToPlay]; 我有两个问题: 1)在应该显示应用程序的容器中,只显示白色屏幕,因此可以听到声音。 UI反应触动。 2)加载video的第一张照片后,应用程序不时崩溃(如果xcode冻结了应用程序,则可以听到video的声音)。 错误是: Thread 1: EXC_BAD_ACCESS(code=1, address = 0xc) 主要堆栈: libobjc.A.dylib`objc_msgSend: 0x3af10620: cbz r0, 0x3af1065e ; objc_msgSend + 62 0x3af10622: ldr.w r9, [r0] 0x3af10626: ldrh.w r12, [r9, #12] <—Here it crashes 0x3af1062a: ldr.w r9, [r9, #8] 0x3af1062e: and.w r12, […]

通过覆盖GIF图像保存video

我正在制作一个录制video的应用程序。 录制完成后,我使用Library将GIF图像放在上面。 我的代码播放video和GIF图像作为覆盖 self.avPlayer = [AVPlayer playerWithURL:self.urlstring]; self.avPlayer.actionAtItemEnd = AVPlayerActionAtItemEndNone; AVPlayerLayer *videoLayer = [AVPlayerLayer playerLayerWithPlayer:self.avPlayer]; videoLayer.frame = self.preview_view.bounds; videoLayer.videoGravity = AVLayerVideoGravityResizeAspectFill; [self.preview_view.layer addSublayer:videoLayer]; NSURL *url = [[NSBundle mainBundle] URLForResource:@"02" withExtension:@"gif"]; self.img_gif.image = [UIImage animatedImageWithAnimatedGIFData:[NSData dataWithContentsOfURL:url]]; 但是现在我想合并并保存这个GIF图像覆盖的video。 我谷歌没有find我想要的。 感谢您的帮助