将OpenGL ES 2.0转换为iPad/iPhone上的视频
尽管在Stackoverflow上有很好的信息... ,我还是处于智慧. 我试图为iPad 2上的视频(使用iOS 4.3)写一个OpenGL RenderBuffer.这更确切地说是我正在尝试: a)设置一个avassetwriterInputpixelbufferadaptor 创建一个指向视频文件 的avassetwriter 设置具有适当设置的AvassetWriterInput 设置一个avassetwriterinputpixelbufferadaptor,将数据添加到视频文件 b)使用AvassetWriterInputPixelBufferadaptor 将数据写入视频文件 将OpenGL代码渲染到屏幕 通过glreadpixels获取OpenGL缓冲区 从OpenGL Data创建CVPixelBufferRef 使用appendpixelbuffer方法 ,将PixelBuffer附加到Avasset
2 2023-12-20
编程技术问答社区
在Swift中使用AVAAssetWriter将AVCaptureVideoDataOutput保存为电影文件
我一直在网上寻找,似乎找不到教程或帮助我所需要的. 使用AVFoundation和DLIB库,我创建了一个应用程序,该应用程序可以使用手机上的前置摄像头从实时视频中检测到一个面孔.我正在使用Shape Predictor 68 Face Landmark s进行此操作.为此,我很确定我必须使用AVCaptureVideoDataOutput而不是AvMoviefileOutput,以便可以分析每个帧. 我现在希望能够将视频保存到文件中,从我收集的内容中,我需要使用AVAssetWriter来做到这一点.我只是找不到有关如何开始的任何信息.我是Swift和iOS编程的新手,并且从查看Apple的文档中无法真正了解很多. 如果有人可以帮助我,将不胜感激! 解决方案 我能够找出如何使用avassetwriter.如果其他人需要帮助我使用的代码如下: func setUpWriter() { do { outputFileLocation
4 2023-12-18
编程技术问答社区
在iOS中以编程方式捕获屏幕视频
我正在尝试创建一个Uiview,该Uiview允许用户点击i中的一个按钮并记录屏幕(不要从相机中制作视频),然后将其保存到文档文件夹中.我在这里看过几篇文章,谈论了avassetwriter,并引用了此链接: http://codethink . 但是没有人实际上显示了解决方案或提供有关如何完成的任何示例.任何人都有任何想法,还是可以将我指向正确的方向?这应该比以前简单. 谢谢 道格 解决方案 链接没有死. http://codethink.no-ip.org/wordpress/wordpress/archives/673 如果您检查评论,也有一些代码可以混合音频和视频并将其保存为QuickTime电影. 如果您仍然无法访问链接,则有一个在binpress上出售相同代码的人: 其他解决方案 另一个有用的项目是RecordMyscreen,在此处找到: https://github.com/coolstar/recordmyscreen 其
2 2023-12-18
编程技术问答社区
苹果手机图像转视频的速度问题
我已经在iPhone中拍摄了视频转换的图像(当然,我从堆栈溢出问题中获取了代码).但是问题是录制视频的速度非常快,即使我有2250帧,它也会在2秒内逃跑.我知道问题是其框架速率. 但是我不知道如何正确. 我的代码在下面 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectoryPath = [paths objectAtIndex:0]; NSString *myFilePath = [documentsDirectoryPath stringByAppendingPathComponent:@"test.mov"]; if ([self openVideoFile:myFilePath withSize:CGSizeMake (480.0, 320.0)]) { for (in
2 2023-11-18
编程技术问答社区
农村信用社开始写作的问题
avassetwriter startWritriting在我在2G设备上写电影时,正在返回bool false值,但是对于所有其他设备,其返回的真实价值并正常工作. 解决方案 我在iPad上的启动写作时会在我的iPhone3和4(均具有iOS 4.2)上进行false.作者的状态失败了,nserror为:"操作无法完成. 用文件类型创建时,创建作者不会产生任何错误:avfiletypequicktimemovie,并且该文件尚不存在.我还尝试使用不同的像素缓冲器像素格式,但无济于事.最后,我尝试将视频类型更改为mpeg4和m4v ...又无济于事. 我将其发布在这里,而不是创建一个新问题,因为它们都是相同的结果,并且没有解决.我需要在几天内完成此解决的问题,所以如果我学到任何东西,我会发布我发现的内容. 其他解决方案 最有可能的原因是您正在运行的特定iOS设备不包括硬件H264编码器.我认为iPhone的版本早于3GS没有硬件,但是我不确定iPad 1是否具有编
0 2023-11-18
编程技术问答社区
AVAAssetWriter输出大文件(即使应用压缩设置)。
我正在研究一个个人iOS项目,该项目需要全屏视频(长度为15秒)才能通过4G连接上传到后端.虽然我可以将视频放在正常的情况下,但文件的输出大小呈30MB,这使我认为我在压缩方面做了急剧错误.以下是我使用的代码来提高资产撰稿人: -(void)captureOutput:(AVCaptureFileOutput *)captureOutput didStartRecordingToOutputFileAtURL:(NSURL *)fileURL fromConnections:(NSArray *)connections { NSLog(@"Started Recording! *******************"); self.movieWriter = [AVAssetWriter assetWriterWithURL:fileURL fileType:AVFileTypeMPEG4 error:nil]; [self.movieWriter setS
0 2023-11-18
编程技术问答社区
在3GS设备上,使用AVAssetWriter从图像创建电影的效果不如预期
呼叫AppendPixelBuffer在3GS设备(iOS 4.1)上返回NO,但在iPhone 4设备上运行良好. 以下呼叫AppendPixelBuffer是问题的来源: CVPixelBufferRef buffer = NULL; buffer = [self pixelBufferFromCGImage:[[UIImage imageNamed:@"frame1.png"] CGImage]]; BOOL result = [adaptor appendPixelBuffer:buffer withPresentationTime:kCMTimeZero]; if (result == NO) //failes on 3GS, but works on iphone 4 NSLog(@"failed to append buffer"); } 完整代码: -(void)writeImagesAsMovie:(NSArray *)array
4 2023-11-18
编程技术问答社区
从使用AVAAssetWriter创建的视频中生成缩略图
我正在使用AVAssetWriter和captureOutput回调录制视频+音频.问题在于,在大约5%的情况下,我无法从第二个零生成缩略图(如果我尝试在视频中进一步发展,那就没有问题了).我遇到的错误是: 错误域= avFoundationRordomain代码= -11832"无法打开" UserInfo = 0x4b31b0 {nslocalizedfailurereason =此媒体不能为 使用. 完全的. (OSSTATUS错误-12431.)",NSLocalizedDescription =不能 打开} 这是我正在使用的代码: AVURLAsset *asset=[[AVURLAsset alloc] initWithURL:url options:nil]; AVAssetImageGenerator *generator = [[AVAssetImageGenerator alloc] initWithAsset:asset]; generator.a
10 2023-11-18
编程技术问答社区
iOS在使用AVAssetWriter捕捉视频时如何正确处理方向问题
我正在制作一个示例应用程序,该应用程序利用Avoundation录制视频.重点是,我可以更多地控制视频的录制.在我的示例项目中,我有视频捕获,但正在努力正确处理方向. 我已经在网络周围进行了很多搜索,发现其他人建议我不允许我的捕获视图或捕获会话根据方向旋转,而是设置转换以在播放过程中旋转视频.我在iOS和MAC设备上工作正常,但是想知道我是否会在Windows或Android等其他平台上遇到问题. 另外,当我查看录制的视频的元数据时,我会发现宽度和高度无法正常设置为方向.这是有道理的,因为我只是在改变视频的演示,而不是实际的分辨率. 我的问题是我如何正确地支持肖像和景观方向并正确反映在视频文件输出中?我需要这些视频在所有平台上正确播放,所以我认为该分辨率很重要. 下面是我迄今为止写的全部资源.感谢大家都能提供的任何建议. import UIKit import AVFoundation class ViewController: UIViewControl
6 2023-11-18
编程技术问答社区
AVfoundation反转视频
我试图将视频反向进行.在Avplayer播放资产时,我设置了速率= -1以使其以反向格式工作.但是如何导出该视频呢?我研究了文档.阅读有关avassetwrite,sambuffer,作品的了解,但没有找到任何方法.下面的链接由我提及 http:///www.rarewenderlich. com/13418/how-to-to-play-record-edit-edit-videos-in-ios 反向视频演示 - https://github.com/mikaelhellqvist/reversececlip 上面的示例不再在iOS 8中工作.甚至它也没有逆转音频.如果有人给我一点提示,那么我可以做更多.从过去的5天开始,我被困在这里,但在文档中没有找到任何答案. 解决方案 您可能必须与Avassetexportsession一起玩(对于MP4视频转换,iPhone从编程中) - 如果它不起作用,那么您的选项将是使用AvassetReader和Avasset
12 2023-11-18
编程技术问答社区
如何使用AVAAssetWriter编写一个带有视频和音频的电影?
我想用AVAssetWriter导出电影,并且无法弄清楚如何将视频和音轨包括在同步中.仅导出视频正常工作,但是当我添加音频时,结果电影如下: 首先,我看到视频(没有音频),然后是视频冻结(显示最后的图像帧直到结束),几秒钟后,我听到了音频. 我尝试了一些CMSampleBufferSetOutputPresentationTimeStamp(从电流中减去第一个CMSampleBufferGetPresentationTimeStamp)的音频,但这一切都没有起作用,我认为这不是正确的方向,因为视频和音频源电影无论如何都应该同步... 简而视频和音频)并将它们添加到AVAssetWriter ...我以: 开始全部启动 [assetReader startReading]; [assetWriter startWriting]; [assetWriter startSessionAtSourceTime:kCMTimeZero]; 然后我运行2个队列以进行示例缓冲区:
4 2023-11-18
编程技术问答社区
模拟AVLayerVideoGravityResizeAspectFill:在不损失清晰度的情况下,对视频进行裁剪和居中,以模拟预览。
基于此 so post so post 用户现场捕获的视频. 捕获会话使用avcapturesessesseessesseesthigh进行预设值,而预览层则使用AvlayervideRavityResizeaspectfill进行视频重力.此预览非常清晰. 然而,出口视频并不那么尖锐,表面上是因为从1920x1080分辨率从5S上的后置摄像头缩放到320x568(导出视频的目标大小)引入了模糊,从扔掉像素? 假设没有任何模糊性的问题从1920x1080到320x568,问题就变成了:如何模仿预览层的清晰度? 某种程度上,苹果正在使用算法将1920x1080视频转换为320x568的清晰的预览框架. 有没有办法与AvassetWriter或Avassetexportsession模仿? func cropVideo() { // Set start time let startTime = NSDate().timeIntervalSi
0 2023-11-18
编程技术问答社区
AVCaptureSession只得到视频缓冲区
我试图从iPhone摄像机捕获视频和音频,并作为AvassetWriter作为视频文件输出,但输出视频文件仅包含带有音频的第一个帧. 我已经检查了Avcapturesession委托法, - (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection { 似乎只有委托方法在第一个时只有一个视频示例缓冲区,然后始终接收音频示例缓冲区,例如遵循日志. - Video SampleBuffer captured! - Audio SampleBuffer captured! - Audio SampleBuffer captured! - Audio SampleBuffer captured! 这是我
6 2023-11-18
编程技术问答社区
如何像iphone中会说话的Tomcat应用程序那样录制屏幕视频?
嘿,我尝试记录游戏的游戏玩法,以便我可以从设备本身上将视频上传到YouTube ... M试图做与iPhone的Tomcat应用程序相同的事情. ... i m使用glreadpixels()来读取FrameBuffer数据,然后在Avashetwriter的帮助下将其写入视频.但是,在使用GlreadPixels时,阅读每张图的数据仅将FPS从30-35降低至2-3. 我认为Talking Tomcat也是在OpenGl es的帮助下制成的,它也有视频录制设施,但在阅读每个框架时都不会放慢脚步.....? 解决方案 以防有人想实施相同的话..我想知道自己. 首先,令我惊讶的是,我发现Talking Tomcat不是一个3D游戏应用程序...它使用框架动画进行所有动作.如果有人想捕获这种视图,那么他们可以使用以下代码--- UIGraphicsBeginImageContext(self.view.bounds.size); //self.view.window
10 2023-11-18
编程技术问答社区
在不旋转AVCaptureConnection的情况下旋转视频,并且在AVAssetWriter会话中旋转。
我正在使用 pbjvision 实现tap-to-to-to-to-record视频功能.图书馆还不支持方向.请注意,旋转可以在点击记录段之间发生.因此,在录制会话中,方向锁定在用户敲击按钮时的状态.下次用户点击按钮要记录时,它应该重新设置设备方向的方向(因此,结果视频显示右侧). 在 方法1 使用setVideoOrientation:旋转AVCaptureConnection - 这会导致视频预览每次切换时闪烁,因为这会切换看起来的实际硬件.不酷,不可接受. 方法2 在用于编写视频的对象上设置transform属性.问题是,一旦资产作者开始写作,transform属性就无法更改,因此仅适用于视频的第一部分. 方法3 Rotate the image buffer being appended using something like this: 如何在iOS 4中直接旋转cvimagebuffer映像而不转换为uiimage?,但它一直崩溃,我什至不确定我是否在吠叫
4 2023-11-18
编程技术问答社区
这段通过AVAAssetWriter和AVAAssetWriterInputs写视频+音频的代码无法工作。为什么?
我一直在尝试使用AvassetWriter和AvassetWriterInputs编写视频+音频. 我在这个论坛上阅读了多个帖子,称他们能够实现这一目标,但这对我不起作用. 如果我只是写视频,那么代码做得很好.当我添加音频时,输出文件已损坏并且无法复制. 这是我的代码的一部分: 设置AvCaptureVideOdataOutput和avcaptureaudiodataOutput: NSError *error = nil; // Setup the video input AVCaptureDevice *videoDevice = [AVCaptureDevice defaultDeviceWithMediaType: AVMediaTypeVideo]; // Create a device input with the device and add it to the session. AVCaptureDeviceInput *videoInput =
4 2023-11-18
编程技术问答社区
使用AVAsset制作带有图片阵列和歌曲文件的电影文件。
我正在尝试使用图片阵列和音频文件制作电影文件.要用图片阵列拍电影,我使用了Zoul 在这里.一切都是完美的,我有我的电影.但是,当我尝试添加一些音轨时,我会有很多问题.要了解我放置我的代码: 当我调用此方法时,图片数组和歌曲文件准备就绪: -(void) writeImagesToMovieAtPath:(NSString *) path withSize:(CGSize) size { NSString *documentsDirectoryPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; NSArray *dirContents = [[NSFileManager defaultManager] directoryContentsAtPath:documentsDirectoryPath];
0 2023-11-18
编程技术问答社区
用图像制作视频时应用程序崩溃了
请找到以下代码. -(void) writeImagesAsMovie:(NSArray *)array toPath:(NSString*)path numPhoto:(NSInteger)totPics { ALAsset *asset = [assets objectAtIndex:0]; ALAssetRepresentation *assetRepresentation = [asset defaultRepresentation]; UIImage *getImage = [UIImage imageWithCGImage:[assetRepresentation fullScreenImage] scale:[assetRepresentation scale] orientation:(UIImageOrientation)[assetRepresentation orientation]]; UIImage *first
4 2023-11-03
编程技术问答社区
Iphone SDK,从UIImage创建视频
我需要从选定的图像中创建视频. 我有代码shoudl起作用,但在加入缓冲区时会出现错误. 这是保存两种类型的图像的方式. -(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)img editingInfo:(NSDictionary *)editInfo { // NSLog(@"Came From Here"); imgv.image = img; AppDelegate *app = (AppDelegate *)[[UIApplication sharedApplication] delegate]; app.imgmain = img; [self dismissModalViewControllerAnimated:YES]; RecordVoice *rec
6 2023-11-03
编程技术问答社区
从UIImages阵列中创建视频并将视频保存到iPhone库中。AVAAssetLibrary +AVFoundation
将视频保存到iPhone库中的问题. 我有一系列的uiimages和两个按钮," converttovideo"&" savetoiphonelib" -(IBAction) convertToVideo { NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = ([paths count] > 0) ? [paths objectAtIndex:0] : nil; NSString *savedVideoPath = [documentsDirectory stringByAppendingPathComponent:@"videoOutput"]; printf(" \n\n\n-Video file == %s--\n\n\n",[savedVideoPath UT
4 2023-11-03
编程技术问答社区