【问题标题】:AVFoundation how to capture processed video?AVFoundation 如何捕获处理后的视频?
【发布时间】:2020-09-03 21:51:25
【问题描述】:

我正在尝试使用 Metal 在 ios 中实现视频处理管道。到目前为止,我可以从AVCaptureVideoDataOutput 的代表那里获得CVPixelBuffer 并对其应用过滤器并将其显示在MTKView 中以进行实时预览。我的问题是如何在使用AVCaptureMovieFileOutput 录制时对视频应用相同的过滤器?我的意思是有没有办法将那些已经过滤的CVPixelBuffers 加载到AVCaptureMovieFileOutput

【问题讨论】:

    标签: ios avfoundation metal core-image


    【解决方案1】:

    对于这个用例,您需要一个AVAssetWriter,通过AVAssetWriterInput 传递处理后的像素缓冲区。这是一个相当手动的过程,但this article 可能会有所帮助。

    【讨论】:

    • 也就是说我需要单独录制声音并与视频合并?
    • 您需要在捕获会话中使用AVCaptureAudioDataOutput,并将其生成的样本缓冲区传递给您使用媒体类型初始化的相同 AVAssetWriter 的另一个AVAssetWriterInput .audio。然后,资产编写器将根据时间戳同步视频和音频样本。
    猜你喜欢
    • 2017-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-26
    相关资源
    最近更新 更多