菜鸟教程小白 发表于 2022-12-13 13:10:26

ios - 使用 AVPlayer 作为 AVCaptureSession 的输入?


                                            <p><p>是否可以使用 <code>AVCaptureSession</code> 捕获 <code>AVPlayer</code> 的输出?我相信这是可能的,但不知道如何使用 <code>AVPlayer</code> 作为输入。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您不能将 <code>AVPlayer</code> 插入 <code>AVCaptureSession</code>,尽管您可以通过 <code>CVPixelBuffer</code>s 的形式访问播放器的视频和音频和 <code>AudioBufferList</code>s.</p>

<p>这是通过两个 API 实现的:<code>AVPlayerItemVideoOutput</code> 用于视频,<code>MTAudioProcessingTap</code> 用于音频。</p>

<p>尽管是一个 c-api,<code>MTAudioProcessingTap</code> 更容易集成,就像 <code>AVCaptureSession</code> 一样,它通过回调推送样本,而使用 <code>AVPlayerItemVideoOutput</code> 你在给定的时间内拉帧。
出于这个原因,如果您想要类似 <code>AVCaptureSession</code> 的体验(实时、推送),您可能应该让音频点击驱动您的帧拉动。</p>

<p>objective-c <a href="https://developer.apple.com/library/ios/samplecode/AVBasicVideoOutput/Introduction/Intro.html" rel="noreferrer noopener nofollow">here</a>中有一些<code>AVPlayerItemVideoOutput</code>示例代码并迅速<a href="https://github.com/ooper-shlab/AVBasicVideoOutput-Swift" rel="noreferrer noopener nofollow">here</a>以及在 swift <a href="https://github.com/gchilds/MTAudioProcessingTap-in-Swift" rel="noreferrer noopener nofollow">here</a> 中使用 <code>MTAudioProcessingTap</code> 的示例. </p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 使用 AVPlayer 作为 AVCaptureSession 的输入?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/34568512/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/34568512/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 使用 AVPlayer 作为 AVCaptureSession 的输入?