有没有人能够使 ffmpeg 与音频队列一起工作,当我尝试创建队列时出现错误。
ret = avcodec_open(enc, codec);
if (ret < 0) {
NSLog(@"Error: Could not open video decoder: %d", ret);
av_close_input_file(avfContext);
return;
}
if (audio_index >= 0) {
AudioStreamBasicDescription
audioFormat;
audioFormat.mFormatID = -1;
audioFormat.mSampleRate =
avfContext->streams[audio_index]->codec->sample_rate;
audioFormat.mFormatFlags = 0;
switch (avfContext->streams[audio_index]->codec->codec_id)
{
case CODEC_ID_MP3:
audioFormat.mFormatID = kAudioFormatMPEGLayer3;
break;
case CODEC_ID_AAC:
audioFormat.mFormatID = kAudioFormatMPEG4AAC;
audioFormat.mFormatFlags = kMPEG4Object_AAC_Main;
break;
case CODEC_ID_AC3:
audioFormat.mFormatID = kAudioFormatAC3;
break;
default:
break;
}
if (audioFormat.mFormatID != -1) {
audioFormat.mBytesPerPacket = 0;
audioFormat.mFramesPerPacket =
avfContext->streams[audio_index]->codec->frame_size;
audioFormat.mBytesPerFrame = 0;
audioFormat.mChannelsPerFrame = avfContext->streams[audio_index]->codec->channels;
audioFormat.mBitsPerChannel = 0;
if (ret = AudioQueueNewOutput(&audioFormat, audioQueueOutputCallback, self, NULL, NULL, 0, &audioQueue)) {
NSLog(@"Error creating audio output queue: %d", ret);
}
只有音频的问题,
如果我能弄清楚如何让音频队列工作,那么视频就是完美的。
http://web.me.com/cannonwc/Site/Photos_6.html
我虽然是 remoteio,但没有太多关于此的文档。
我将与任何帮助我让它工作的人分享完整课程的代码。
这个想法是有一个单一的视图控制器来播放传递给它的任何流媒体视频,类似于 iphone 上的 ffplay 但没有 sdl 开销。