我在做什么:
我需要在 iPhone/iPad 上播放 Apple 不支持的音频和视频文件,例如包含多个音频通道的 mkv/mka 文件。
我正在使用 libffmpeg 在媒体文件中查找音频和视频流。视频正在解码,avcodec_decode_video2
每个avcodec_decode_audio3
函数的返回值如下
avcodec_decode_video2
- 返回AVFrame
结构体,该结构体封装了来自包的视频视频帧的信息,具体来说是具有data
指向图片/通道平面的指针的字段。avcodec_decode_audio3
- 返回samples
int16_t * 类型,我猜这是原始音频数据
所以基本上我已经完成了所有这些并成功解码了媒体内容。
我必须做的: 我必须使用 Apple 服务相应地播放音频和视频。我需要执行的播放应该支持在播放视频时混合音频通道,即假设 mkv 文件包含两个音频通道和一个视频通道。所以我想知道哪种服务适合我?我的研究表明,AudioQueue 服务可能是有用的音频播放,并且可能是视频的 AVFoundation。
请帮助为我的情况找到合适的技术,即视频播放 + 音频播放以及可能的音频通道混合。