AAC Encoding

Encoded AAC examples on windows with ffmpeg with libfdk and ffmpeg AAC library


According to our findings libfdk currently only permits encoding up to 8 channels, ffmpeg internal AAC encoder support also 16 and 22.2 channel encodings.

Chrome and Firefox can decode 16 AAC channels according to our tests on most OS except for IOS where the mach number currently is 6.

 ffmpeg AAC lib and libfdk  -profile:a aac_he examples to create Ambisonics HOA files with 8 channels.

Create 8 channels AMB8 (Ambix-8)  = 2H2P -R channel 


ffmpeg -i Rigoletto-TOA.wav  -filter "channelmap=0|1|2|3|4|5|7|8:octagonal"   -c:a libfdk_aac  -c:a libfdk_aac  -profile:a aac_he  -b:a 640k -cutoff 18000 -movflags +faststart -metadata comment="AMB8" Rigoletto-fdk-AMB8.m4a

ffmpeg -i Rigoletto-TOA.wav     -filter "channelmap=0|1|2|3|4|5|7|8:octagonal"  -c:a aac    -b:a 640k -cutoff 18000 -movflags +faststart    -metadata comment="AMB8"  Rigoletto-ffaac-640k-AMB8.m4a



Create 8 channel 3H1P - 8 channel HE-AAC file with channels from a TOA file, chan 0-5 + 9 10

ffmpeg -i Rigoletto-TOA.wav  -filter "channelmap=0|1|2|3|4|8|9|15:octagonal" -c:a libfdk_aac -profile:a aac_he  -b:a 256k -cutoff 18000 -movflags +faststart  -metadata comment="3H1P"  Rigoletto-fdk-3H1P.m4a

ffmpeg -i Rigoletto-TOA.wav  -filter "channelmap=0|1|2|3|4|8|9|15:octagonal" -c:a aac   -b:a 256k -cutoff 18000 -movflags +faststart -metadata comment="3H1P" Rigoletto-3H1P.m4a

   

Encode HOA in 11 channels of sound for 3H2P


Create a 11 channel 3H2P files, full third order horisontal and second order vertical soundfield, saves 5/16 ot the full TOA bandwidth3H2P     WYZX VTRSU Q P   0123 45678 9 15  

ffmpeg -i annon16-TOA.wav -filter "channelmap=0|1|2|3|4|5|6|7|8|9|15:hexadecagonal"    AMB8-annon16-10to14removed-corrected-fdkaacHE-160k-11c-movflag.m4a

The above is a 16 channhel HOA file with 5 channels silent because ffmpeg is not configured to support 11 channels of AAC, but we want to show the potential for 3H2P.

Create TOA AAC Files:  

  Lib fdkaac
ffmpeg -i Rigoletto-TOA.wav -filter "channelmap=0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15:hexadecagonal"  -c:a libfdk_aac -ac 6  -profile:a aac_he  -vbr 1 -cutoff 18000 -movflags +faststart -metadata comment="3H3P" 3H3P-Rigoletto-TOA.m4a

  Libacc
ffmpeg -i Rigoletto-TOA.wav     -filter "channelmap=0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15:hexadecagonal"     -c:a aac -b:a 1024k -cutoff 18000 -movflags +faststart -metadata comment="TOA" 3H3P-Rigoletto-ffaac-1024k-TOA.m4a


Create a  Ambisonics 9 Channel SOA AAC encoded file

 According to my current knowledge the only way to do this is a 16 channel file with silent channels at the end with ffmpeg aac library.

ffmpeg -i Rigoletto-TOA.wav  -filter "channelmap=0|1|2|3|4|5|6|7|8:hexadecagonal"  -c:a aac -b:a 1024k -cutoff 18000 -movflags +faststart -metadata comment="SOA"     Rigoletto-ffaac-1024k-SOA.m4a


Create  6 channels Mixed format 2H1P  for IOS

ffmpeg -i Stereo05-TOA.wav  -filter        "channelmap=0|1|2|3|4|8:6.0(front)" -c:a libfdk_aac -ac 6  -profile:a aac_he  -vbr 1 -cutoff 18000 -movflags +faststart          Stereo05-vbr1-fdk-2H1P.m4a

ffmpeg -i Gaudete-B-format-soa.wav -filter "channelmap=0|1|2|3|4|8:6.0(front)" -c:a libfdk_aac -ac 6  -profile:a aac_he  -vbr 1 -cutoff 18000 -movflags +faststart     Gaudete-vbr1-fdk-2H1P.m4a

ffmpeg -i BIS-Eigenmike-TOA.wav    -filter "channelmap=0|1|2|3|4|8:6.0(front)" -c:a libfdk_aac -ac 6  -profile:a aac_he  -b:a 96k -cutoff 18000 -movflags +faststart   BIS-Eigenmike-96k-fdk-2H1P.m4a