0

I am attempting to add secondary audio with FFmpeg to copy my primary audio over and encode it with libfdk_aac using profile aac_he. When I do, I am getting the following errors:

[NULL @ 000001f4d7830b80] [Eval @ 0000003fb93fdf50] Undefined constant or missing '(' in 'aac_he' [NULL @ 000001f4d7830b80] Unable to parse option value "aac_he" [NULL @ 000001f4d7830b80] Error setting option profile to value aac_he. Error setting up codec context options. Error initializing output stream 0:1 --* Here is the command I am trying to use:

ffmpeg -y -fflags -genpts -i -map 0:v -c:v copy -map 0:a -c:a:0 copy -map 0:a -c:a:1 libfdk_aac -profile:a aac_he e:\nf.ts I would expect it to copy the Primary audio to Audio 1 (AC3), and then re-encode the audio from Audio 1 to to Audio 2 (aac_he).

If I only use aac native audio, instead of aac_he, it works fine using this command:

ffmpeg -y -fflags -genpts -i %%f -map 0:v -c:v copy -map 0:a -c:a:0 copy -map 0:a -c:a:1 aac e:\nf.ts From this, I get Audio 1 (AC3) and Audio 2(aac).

or it works if I just re-encode the primary audio like using this command:

ffmpeg -y -fflags -genpts -i %%f -map 0:v -c:v copy -map 0:a -c:a:0 libfdk_aac -profile:a aac_he e:\nf.ts From this, I get Audio 1(aac_he)

Is there something about using the aac_he in the secondary audio position that ffmpeg has issues with?

1 Answer 1

0

-profile:a aac_he applies to all output audio streams. Apply it to only the intended stream; -profile:a:1 aac_he.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.