相关疑难解决方法(0)

AVFoundation - 反转AVAsset并输出视频文件

我已经看过几次这个问题了,但是他们似乎没有任何合适的答案.

要求是反转并输出视频文件(不仅仅是反向播放),保持与源视频相同的压缩,格式和帧速率.

理想情况下,解决方案能够在内存或缓冲区中完成所有操作,并避免将帧生成到图像文件中(例如:使用AVAssetImageGenerator),然后重新编译它(资源密集,不可靠的计时结果,帧/图像质量从原始,等等.).

-

我的贡献:这仍然没有用,但到目前为止我尝试过的最好:

  • 将示例帧读入一个CMSampleBufferRef[]使用的数组AVAssetReader.
  • 使用相反的顺序将其写回AVAssetWriter.
  • 问题:似乎每个帧的时间都保存在CMSampleBufferRef所以即使向后追加它们也行不通.
  • 接下来,我尝试用反向/镜像帧交换每帧的定时信息.
  • 问题:这会导致未知错误AVAssetWriter.
  • 下一步:我要调查一下 AVAssetWriterInputPixelBufferAdaptor

    - (AVAsset *)assetByReversingAsset:(AVAsset *)asset {
        NSURL *tmpFileURL = [NSURL URLWithString:@"/tmp/test.mp4"];    
        NSError *error;
    
        // initialize the AVAssetReader that will read the input asset track
        AVAssetReader *reader = [[AVAssetReader alloc] initWithAsset:asset error:&error];
        AVAssetTrack *videoTrack = [[asset tracksWithMediaType:AVMediaTypeVideo] lastObject];
    
        AVAssetReaderTrackOutput* readerOutput = [AVAssetReaderTrackOutput assetReaderTrackOutputWithTrack:videoTrack outputSettings:nil];
        [reader addOutput:readerOutput];
        [reader startReading];
    
        // Read in the samples into an array
        NSMutableArray *samples …
    Run Code Online (Sandbox Code Playgroud)

macos objective-c avfoundation ios

24
推荐指数
1
解决办法
6578
查看次数

AVfoundation反向视频

我试图反过来制作视频.在AVPlayer中播放资源时,我设置rate = -1以使其以反向格式工作.但如何导出该视频?我查看了文档.阅读有关avassetwrite,sambuffers,作品,但没有找到任何方法来做到这一点.以下链接由我提供

http://www.raywenderlich.com/13418/how-to-play-record-edit-videos-in-ios

反向视频演示 - https://github.com/mikaelhellqvist/ReverseClip

以上示例不再适用于IOS 8.甚至它不会反转音频.如果有人给我一些暗示,那么我可以做进一步.我在过去的5天里被困在这里但在文档中没有找到任何答案.

video avfoundation avassetwriter avmutablecomposition avassetreader

7
推荐指数
1
解决办法
1633
查看次数