Ios AAC&x27;从CAFs转换为HTTP实时流媒体

Ios AAC&x27;从CAFs转换为HTTP实时流媒体,ios,objective-c,ffmpeg,http-live-streaming,transcoding,Ios,Objective C,Ffmpeg,Http Live Streaming,Transcoding,我有几个从CAF文件转换而来的AAC文件,用于HTTP实时流媒体。流可以工作,但是每个AAC文件之间有一个小间隙。据我所知,这种差距是由从CAF转码时附加到AAC文件的“启动”和“剩余”帧造成的 我的问题是,有没有办法消除这一差距?或者使用FFMpeg包装文件(可能是m4a?),以便音频播放器(VLC、JWPlayer)理解跳过间隙?您可以尝试删除启动帧。流仍然可以播放(所有AAC帧都可以随机访问,假设您有ADTS头),但这可能会在编码器预热时导致一些“丢失”音频。它可能是可感知的,也可能不是可

我有几个从CAF文件转换而来的AAC文件,用于HTTP实时流媒体。流可以工作,但是每个AAC文件之间有一个小间隙。据我所知,这种差距是由从CAF转码时附加到AAC文件的“启动”和“剩余”帧造成的


我的问题是,有没有办法消除这一差距?或者使用FFMpeg包装文件(可能是m4a?),以便音频播放器(VLC、JWPlayer)理解跳过间隙?

您可以尝试删除启动帧。流仍然可以播放(所有AAC帧都可以随机访问,假设您有ADTS头),但这可能会在编码器预热时导致一些“丢失”音频。它可能是可感知的,也可能不是可感知的。最好的方法是以原始形式连接音频,因此将CAF解码为原始PCM连接PCM,并将AAC编码为一个文件

这样做的问题是,这必须在iOS上完成,并实时上传到服务器。我不能等到AAC完成,我必须在设备(如iPhone)的麦克风接收到AAC时将其分段上传。不要等到AAC完成。一旦有货,就分批寄出去。我不确定我是否照办。将传入的CAF解码为原始PCM,将PCM合并在一起,然后将合并文件编码为单个AAC文件。这不会给我留下一个大的AAC文件发送到服务器吗?跳过“文件”步骤。解码后,将所有内容视为流。