草庐IT

avAssetWriter

全部标签

ios - 通过 AVAssetDownloadTask/Session 下载后如何更新 AVURLAsset 的元数据?

我正在实现一些HLS/m3u8流的离线播放。使用AVAssetDownloadURLSession,一切都按预期工作,使用它来制作AVAssetDownloadTasks,给定来自流url的AVURLAsset。我想在下载完成之前或之后在Assets的metadata属性中保存一些自定义信息,但它是只读的。我尝试过使用AVAssetExportSession、AVAssetWriter等,但由于(我认为)操作系统管理HLS离线播放文件的特殊方式,都没有奏效。它们被打包为.movpkg有没有人有上述经验并让它发挥作用?session当前设置如下:privatelazyvaravAsset

swift - AVAssetWriter队列指导Swift 3

有人可以给我一些关于在AVFoundation中使用队列的指导吗?稍后,在我的应用中,我想对单个帧进行一些处理,因此我需要使用AVCaptureVideoDataOutput。开始时,我想我会捕获图像,然后使用AVAssetWriter写入它们(未处理)。我通过如下设置AVCaptureSession成功地将帧从相机流式传输到图像预览:funcinitializeCameraAndMicrophone(){//setupthecaptureSessioncaptureSession=AVCaptureSession()captureSession.sessionPreset=AVCap

ios - 在 iOS 上使用 HEVC 编码器输出巨大的视频

我有一个项目目前使用H.264编码器在iOS上录制视频。我想尝试使用iOS11中的新HEVC编码器来减小文件大小,但发现使用HEVC编码器会导致文件大小急剧膨胀。Here'saprojectonGitHubthatshowstheissue-itsimultaneouslywritesframesfromthecameratofilesusingtheH.264andH.265(HEVC)encoders,andtheresultingfilesizesareprintedtotheconsole.AVFoundation类的设置如下:classVideoWriter{varavAss

ios - Swift 视频缩放器 AVAsset

我有这段代码可以将视频从1280x720调整为640x360但我想要一个没有裁剪的调整大小。有没有办法在不裁剪的情况下完全调整大小?这是代码classfuncresizer(inputURL:NSURL,completion:(outPutURL:NSURL?)->Void){letvideoAsset=AVAsset(URL:inputURL)asAVAssetletclipVideoTrack=videoAsset.tracksWithMediaType(AVMediaTypeVideo).first!asAVAssetTrackletcomposition=AVMutableCo

ios - 使用 AVAssetWriter 录制视频 : first frames are black

我正在用AVAssetWriter录制视频(用户也可以只切换到音频)。我在应用程序启动时开始录制。但是第一帧是黑色(或非常暗)。当我从音频切换到视频时也会发生这种情况。感觉AVAssetWriter和/或AVAssetWriterInput还没有准备好记录。我怎样才能避免这种情况?我不知道这是否有用,但我也使用GLKView来显示视频。funcstart_new_record(){do{tryself.file_writer=AVAssetWriter(url:self.file_url!,fileType:AVFileTypeMPEG4)ifvideo_on{iffile_write

macos - 我将如何快速使用 AVAssetWriter 制作视频?

我目前正在制作一个小应用程序,可以在我的Mac上对网络摄像头进行延时拍摄,将捕获的帧保存为png,并且我正在考虑将捕获的帧导出为单个视频。我使用CGImage处理原始图像并将它们设置在一个数组中,但我不确定从那里开始。我从自己的研究中了解到,我必须以某种方式使用AVAssetWriter和AVAssetWriterInput。我在这里查看过,阅读了苹果文档并搜索了谷歌。但是所有指南等都在obj-c而不是swift中,这使得它真的很难理解(因为我没有Obj-C的经验)。非常感谢任何帮助。非常感谢,卢克。 最佳答案 我在Swift中解决

ios - OpenGL ES 2.0 到 iPad/iPhone 上的视频

尽管StackOverflow上有很多有用的信息,但我还是不知所措...我正在尝试将OpenGL渲染缓冲区写入iPad2(使用iOS4.3)上的视频。这正是我正在尝试的:A)设置一个AVAssetWriterInputPixelBufferAdaptor创建一个指向视频文件的AVAssetWriter使用适当的设置设置AVAssetWriterInput设置AVAssetWriterInputPixelBufferAdaptor以将数据添加到视频文件B)使用AVAssetWriterInputPixelBufferAdaptor将数据写入视频文件将OpenGL代码渲染到屏幕上通过glR

ios - OpenGL ES 2.0 到 iPad/iPhone 上的视频

尽管StackOverflow上有很多有用的信息,但我还是不知所措...我正在尝试将OpenGL渲染缓冲区写入iPad2(使用iOS4.3)上的视频。这正是我正在尝试的:A)设置一个AVAssetWriterInputPixelBufferAdaptor创建一个指向视频文件的AVAssetWriter使用适当的设置设置AVAssetWriterInput设置AVAssetWriterInputPixelBufferAdaptor以将数据添加到视频文件B)使用AVAssetWriterInputPixelBufferAdaptor将数据写入视频文件将OpenGL代码渲染到屏幕上通过glR

ios - 如何使用 AVAssetWriter 制作缩小尺寸的视频?

我会制作缩小尺寸的视频,宽度可能为50像素,长度可能为75像素。这些是物理维度。如何设置?在视频设置?我认为AVVideoWidthKey和AVVideoHeightKey更多的是为了分辨率而不是我需要的物理尺寸。NSDictionary*videoSettings=[NSDictionarydictionaryWithObjectsAndKeys:AVVideoCodecH264,AVVideoCodecKey,[NSNumbernumberWithInt:320],AVVideoWidthKey,[NSNumbernumberWithInt:480],AVVideoHeightKe

ios - 如何使用 AVAssetWriter 制作缩小尺寸的视频?

我会制作缩小尺寸的视频,宽度可能为50像素,长度可能为75像素。这些是物理维度。如何设置?在视频设置?我认为AVVideoWidthKey和AVVideoHeightKey更多的是为了分辨率而不是我需要的物理尺寸。NSDictionary*videoSettings=[NSDictionarydictionaryWithObjectsAndKeys:AVVideoCodecH264,AVVideoCodecKey,[NSNumbernumberWithInt:320],AVVideoWidthKey,[NSNumbernumberWithInt:480],AVVideoHeightKe