Opened 14 months ago

Last modified 14 months ago

#10207 open defect

aac 6 channels -> ac3 6 channels fails (Back Centre, Cb not supported)

Reported by: Andres Rohr Owned by:
Priority: normal Component: undetermined
Version: unspecified Keywords: aac, ac3
Cc: Andres Rohr Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

If I use the full build of current https://github.com/BtbN/FFmpeg-Builds/releases/tag/latest of 2023-02-18 (Windows version) to convert a video that has a 6 channels aac stream to an ac3 6 channels stream it says "Channel layout change is not supported" and "Not yet implemented". But if I use a nearly 2 year old build from https://github.com/mannyamorim/ffmpeg-windows-builds it can do it. I suggest to compare the 6 channel processing of the two releases and if possible incorporate the working code from the old release into the most recent build.

Output of https://github.com/BtbN/FFmpeg-Builds/releases/tag/latest of 2023-02-18


"C:\Program Files\ffmpeg-master-latest-win64-gpl 2023-02-18\bin\ffmpeg.exe" -hide_banner -y -i "D:\Video Tests für MMX\Konversionsprobleme\6 channels\6 channel conversion problem example.mp4" -map 0:0 -map 0:1 -c:v:0 h264 -c:a:0 ac3 -b:v:0 2500k -pix_fmt:0 yuv420p -f mp4 "D:\Video Tests für MMX\Konversionsprobleme\6 channels\6 channel conversion problem example (2).mp4" (20.02.2023 17:15:43)

Guessed Channel Layout for Input Stream #0.1 : 5.1
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'D:\Video Tests für MMX\Konversionsprobleme\6 channels\6 channel conversion problem example.mp4':

Metadata:

major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf60.2.100

Stream #0:0[0x1](und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 2733 kb/s, 24 fps, 24 tbr, 12288 tbn (default)

Metadata:

handler_name : VideoHandler
vendor_id : [0][0][0][0]

Stream #0:1[0x2](eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 6 channels, fltp, 394 kb/s (default)

Metadata:

handler_name : SoundHandler
vendor_id : [0][0][0][0]

Stream mapping:

Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
Stream #0:1 -> #0:1 (aac (native) -> ac3 (native))

[Parsed_anull_0 @ 000000000305ee40] Channel layout change is not supported
Error while filtering: Not yet implemented in FFmpeg, patches welcome
Failed to inject frame into filter network: Not yet implemented in FFmpeg, patches welcome
Error while processing the decoded data for stream #0:1
Conversion failed!


Output of
https://github.com/mannyamorim/ffmpeg-windows-builds (which redirects to https://sourceforge.net/projects/ffmpeg-windows-builds/files/release/) of 2021-04-27

"C:\Program Files\ffmpeg 4.4 alt\ffmpeg.exe" -hide_banner -y -i "D:\Video Tests für MMX\Konversionsprobleme\6 channels\6 channel conversion problem example.mp4" -map 0:0 -map 0:1 -c:v:0 h264 -c:a:0 ac3 -b:v:0 2500k -f mp4 "D:\Video Tests für MMX\Konversionsprobleme\6 channels\6 channel conversion problem example (7).mp4" (20.02.2023 19:03:21)

Guessed Channel Layout for Input Stream #0.1 : 5.1
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'D:\Video Tests für MMX\Konversionsprobleme\6 channels\6 channel conversion problem example.mp4':

Metadata:

major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf60.2.100

Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 2733 kb/s, 24 fps, 24 tbr, 12288 tbn, 48 tbc (default)

Metadata:

handler_name : VideoHandler
vendor_id : [0][0][0][0]

Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 5.1, fltp, 394 kb/s (default)

Metadata:

handler_name : SoundHandler
vendor_id : [0][0][0][0]

Stream mapping:

Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
Stream #0:1 -> #0:1 (aac (native) -> ac3 (native))

[libx264 @ 000000000319e840] using SAR=1/1
[libx264 @ 000000000319e840] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 000000000319e840] profile High, level 4.0, 4:2:0, 8-bit
[libx264 @ 000000000319e840] 264 - core 161 r3049M 55d517b - H.264/MPEG-4 AVC codec - Copyleft 2003-2021 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=24 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=abr mbtree=1 bitrate=2500 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'D:\Video Tests für MMX\Konversionsprobleme\6 channels\6 channel conversion problem example (7).mp4':

Metadata:

major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf58.76.100

Stream #0:0(und): Video: h264 (avc1 / 0x31637661), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 2500 kb/s, 24 fps, 12288 tbn (default)

Metadata:

handler_name : VideoHandler
vendor_id : [0][0][0][0]
encoder : Lavc58.134.100 libx264

Side data:

cpb: bitrate max/min/avg: 0/0/2500000 buffer size: 0 vbv_delay: N/A

Stream #0:1(eng): Audio: ac3 (ac-3 / 0x332D6361), 48000 Hz, 5.1, fltp, 448 kb/s (default)

Metadata:

handler_name : SoundHandler
vendor_id : [0][0][0][0]
encoder : Lavc58.134.100 ac3

video:3303kB audio:548kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.195004%
[libx264 @ 000000000319e840] frame I:3 Avg QP:11.21 size: 78722
[libx264 @ 000000000319e840] frame P:67 Avg QP:13.44 size: 24313
[libx264 @ 000000000319e840] frame B:171 Avg QP:15.30 size: 8867
[libx264 @ 000000000319e840] consecutive B-frames: 1.2% 2.5% 29.9% 66.4%
[libx264 @ 000000000319e840] mb I I16..4: 33.1% 39.9% 27.1%
[libx264 @ 000000000319e840] mb P I16..4: 1.4% 3.2% 0.5% P16..4: 35.0% 9.1% 4.1% 0.0% 0.0% skip:46.8%
[libx264 @ 000000000319e840] mb B I16..4: 0.1% 0.3% 0.0% B16..8: 31.0% 2.4% 0.4% direct: 0.9% skip:64.8% L0:44.7% L1:53.2% BI: 2.1%
[libx264 @ 000000000319e840] final ratefactor: 17.93
[libx264 @ 000000000319e840] 8x8 transform intra:53.9% inter:79.6%
[libx264 @ 000000000319e840] coded y,uvDC,uvAC intra: 55.0% 71.4% 48.1% inter: 8.8% 9.3% 1.0%
[libx264 @ 000000000319e840] i16 v,h,dc,p: 45% 19% 10% 26%
[libx264 @ 000000000319e840] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 18% 20% 29% 5% 6% 7% 5% 6% 5%
[libx264 @ 000000000319e840] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 19% 14% 17% 12% 12% 8% 7% 7% 5%
[libx264 @ 000000000319e840] i8c dc,h,v,p: 58% 18% 16% 8%
[libx264 @ 000000000319e840] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 000000000319e840] ref P L0: 66.1% 4.1% 19.0% 10.8%
[libx264 @ 000000000319e840] ref B L0: 80.5% 15.6% 3.9%
[libx264 @ 000000000319e840] ref B L1: 96.6% 3.4%
[libx264 @ 000000000319e840] kb/s:2693.89

Success!

Attachments (1)

6 channel conversion problem example.mp4 (1.3 MB ) - added by Andres Rohr 14 months ago.

Download all attachments as: .zip

Change History (5)

comment:1 by Balling, 14 months ago

Keywords: 6 channels removed
Status: newopen
Summary: aac 6 channels -> ac3 6 channels failsaac 6 channels -> ac3 6 channels fails (Back Centre, Cb not supported))

"aac 6 channels" Your little file has Cb channel in place of LFE. That channel is Back Centre. We do support this, but AC3 does not, so it needs convertion and we do not support that.

See this for clarity, last MediaInfo Name says that Cb means back center that is right behind your head perfectly. https://mediaarea.net/AudioChannelLayout

Older version just creates L R C Ls Rs file, i.e. 5.0 file.

comment:2 by Balling, 14 months ago

Summary: aac 6 channels -> ac3 6 channels fails (Back Centre, Cb not supported))aac 6 channels -> ac3 6 channels fails (Back Centre, Cb not supported)

comment:3 by Balling, 14 months ago

so it needs convertion and we do not support that.

On the other hand what convertion can it be? Are we even allowed to add so different channel into other channels?

comment:4 by Andres Rohr, 14 months ago

Thanks for the quick response.

I see. Tested that specifying the output option "-ac 5" drops the Back Centre and solves the problem. But the average user can't understand why the processing fails. He doesn't know which channels are inside. If there would be a clearer info that only one channel is making all the trouble and that reducing the channels with "-ac 5" would solve the problem, would be a nice addition.

Note: See TracTickets for help on using tickets.