[FFmpeg-devel] one question about aac bitstream in mov container
Hendrik Leppkes
h.leppkes at gmail.com
Tue Mar 22 12:38:32 CET 2016
On Tue, Mar 22, 2016 at 12:36 PM, Hendrik Leppkes <h.leppkes at gmail.com> wrote:
> On Tue, Mar 22, 2016 at 11:35 AM, qw <applemax82 at 163.com> wrote:
>> Hi,
>>
>> I am reading ffmpeg source code, and confused about the following logic in movenc.c,
>>
>> if (enc->codec_id == AV_CODEC_ID_AAC && pkt->size > 2 &&
>> (AV_RB16(pkt->data) & 0xfff0) == 0xfff0) {
>> if (!s->streams[pkt->stream_index]->nb_frames) {
>> av_log(s, AV_LOG_ERROR, "Malformed AAC bitstream detected: "
>> "use the audio bitstream filter 'aac_adtstoasc' to fix it "
>> "('-bsf:a aac_adtstoasc' option with ffmpeg)\n");
>> return -1;
>> }
>> av_log(s, AV_LOG_WARNING, "aac bitstream error\n");
>> }
>>
>> If I used default setting to encode audio samples into packets and moved those packets into mp4 container, my transcoding program will report:
>>
>> [mov @ 0xe30a00] Malformed AAC bitstream detected: use the audio bitstream filter 'aac_adtstoasc' to fix it ('-bsf:a aac_adtstoasc' option with ffmpeg)
>>
>> why movenc.c can't support ADTS format? how to set fdk_aac encoder to code audio samples without the error message?
>>
>
> ADTS in MOV/MP4 is not allowed, only raw AAC is. When encoding with
> ffmpeg straight into MP4, it should automatically do this, if you have
> your own application, you need to set the global header flag on the
> decoder context.
*encoder* context of course.
>
> Please post questions to the user mailing list, not the development list.
>
> - Hendrik
More information about the ffmpeg-devel
mailing list