|
|
|
@ -392,13 +392,17 @@ bool UBFFmpegVideoEncoder::init() |
|
|
|
|
c = mAudioStream->codec; |
|
|
|
|
|
|
|
|
|
c->bit_rate = 96000; |
|
|
|
|
c->sample_fmt = audioCodec->sample_fmts[0]; // FLTP by default for AAC
|
|
|
|
|
c->sample_fmt = audioCodec->sample_fmts ? audioCodec->sample_fmts[0] : AV_SAMPLE_FMT_FLTP;// FLTP by default for AAC
|
|
|
|
|
c->sample_rate = mAudioSampleRate; |
|
|
|
|
c->channels = 2; |
|
|
|
|
c->channel_layout = av_get_default_channel_layout(c->channels); |
|
|
|
|
c->profile = FF_PROFILE_AAC_MAIN; |
|
|
|
|
c->time_base = {1, mAudioSampleRate}; |
|
|
|
|
c->strict_std_compliance = -2; // Enable use of experimental codec
|
|
|
|
|
c->channel_layout = AV_CH_LAYOUT_STEREO; |
|
|
|
|
c->channels = av_get_channel_layout_nb_channels(c->channel_layout); |
|
|
|
|
|
|
|
|
|
//https://trac.ffmpeg.org/wiki/Encode/H.264#Profile
|
|
|
|
|
//Omit this unless your target device only supports a certain profile
|
|
|
|
|
//(see https://trac.ffmpeg.org/wiki/Encode/H.264#Compatibility).
|
|
|
|
|
//c->profile = FF_PROFILE_AAC_MAIN;
|
|
|
|
|
|
|
|
|
|
c->time_base = { 1, c->sample_rate }; |
|
|
|
|
|
|
|
|
|
if (mOutputFormatContext->oformat->flags & AVFMT_GLOBALHEADER) |
|
|
|
|
c->flags |= AV_CODEC_FLAG_GLOBAL_HEADER; |
|
|
|
@ -562,11 +566,6 @@ void UBFFmpegVideoEncoder::processAudio(QByteArray &data) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Convert to destination format
|
|
|
|
|
qDebug() << mSwrContext; |
|
|
|
|
qDebug() << outSamples; |
|
|
|
|
qDebug() << outSamplesCount; |
|
|
|
|
qDebug() << inSamples; |
|
|
|
|
qDebug() << inSamplesCount; |
|
|
|
|
|
|
|
|
|
ret = swr_convert(mSwrContext, |
|
|
|
|
outSamples, outSamplesCount, |
|
|
|
|