gpt4 book ai didi

iphone - 播放音频和视频内容的正确选择

转载 作者:行者123 更新时间:2023-12-04 23:09:35 26 4
gpt4 key购买 nike

我在做什么:

我需要在 iPhone/iPad 上播放 Apple 不支持的音频和视频文件,例如包含多个音频 channel 的 mkv/mka 文件。

我正在使用 libffmpeg 在媒体文件中查找音频和视频流。
正在使用 avcodec_decode_video2 解码视频和音频与 avcodec_decode_audio3每个函数的返回值如下

  • avcodec_decode_video2 - 返回 AVFrame封装了来自pakcage的视频视频帧信息的结构,具体是有data字段是指向图片/ channel 平面的指针。
  • avcodec_decode_audio3 - 返回 samples类型 int16_t * 我猜是原始音频数据

  • 所以基本上我已经完成了所有这些并成功解码了媒体内容。

    我必须做的:
    我必须使用 Apple 服务相应地播放音频和视频。我需要执行的播放应该支持在播放视频时混合音频 channel ,即假设 mkv 文件包含两个音频 channel 和一个视频 channel 。所以我想知道哪种服务适合我?我的研究表明,AudioQueue 服务可能是有用的音频播放,并且可能是视频的 AVFoundation。

    请帮助为我的情况找到合适的技术,即视频播放 + 音频播放以及可能的音频 channel 混合。

    最佳答案

    你走在正确的道路上。如果您只播放音频(根本不录制),那么我会使用 AudioQueues。它会为你做混合。如果您正在录制,那么您应该使用 AudioUnits。看看 Apple 的 MixerHost 示例项目。对于视频,我建议使用 OpenGL。假设图像缓冲区在 YUV420 中,那么您可以使用简单的两遍着色器设置来渲染它。我相信有一个 Apple 示例项目展示了如何做到这一点。在任何情况下,您都可以使用 OpenGL 渲染任何像素格式,并使用着色器将像素格式转换为 RGBA。希望这有帮助。

    关于iphone - 播放音频和视频内容的正确选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11158024/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com