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

ios - 无法渲染尺寸大于 640x640 的视频


                                            <p><p>我正在使用 <code>AVAssetExportSession</code> 导出保存在我的文档目录中的视频。我希望将 <code>CALayer</code> 应用于视频,因此我正在使用 <code>AVMutableVideoComposition</code> 并设置必要的 <code>AVMutableVideoCompositionInstruction</code> 和视频导出正常。</p>

<p>我的问题是,假设现在原始视频的分辨率为 1920x1080,当我通过将视频合成的渲染大小设置为 1920x640 来导出此视频时,它给了我一个大小为 640x360 的视频。</p>

<p>我尝试将渲染大小设置为较小的值,例如 300x300,当然通过裁剪额外的内容,我得到了大小为 300x300 的导出视频。然后我尝试将 rendersixe 设置为 700x700,结果是 640x640 视频。</p>

<p>我能理解的是,它根据我们设置的渲染大小保持纵横比,因此当我将大小设置为 1920x1080 时,它会提供 630x360 的视频,保持 16:9 的比例。同样,当我将大小设置为 700x700 时,它会生成一个大小为 640x640 且纵横比为 1:1 的视频。</p>

<p>问题</p>

<p>我希望视频大小与其原始大小相同。但是,当我将 mutablevideoComposition 的大小设置为原始视频轨道的 naturalSize 时,它​​会将我的大小限制在 640x640 以下(如果大小超过 640x640)。</p>

<p>这是一种已知的行为吗?还是我错过了什么。如果这是一种已知行为,是否有另一种方法可以以原始大小或大于 640x640 的大小导出视频。</p>

<p>我们将非常感谢您的帮助。感谢期待。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>我想通了。这是一个简单的错误。我正在使用 AVAssetExportPreset640x480 而不是 AVAssetExportPreset1920x1080 初始化导出 session 。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 无法渲染尺寸大于 640x640 的视频,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/28578476/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/28578476/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 无法渲染尺寸大于 640x640 的视频