[FFmpeg-user] Forced upmixing scheme with no way to disable

Jeremy F advanced4 at gmail.com
Thu Jun 23 19:44:40 EEST 2022


Hi I'm probably using ffmpeg in an edge-case way, but I simply want to take
2 channels/stereo, and end up with 6 channels of audio, where I can
apply/modify/filter each channel as I please. And I figured out the ffmpeg
magic to do this, but along my dive into this it appears that no matter the
method used to upmix (of which there are many such as "-ac 6", "asplit",
"pan", "channelsplit") it appears no matter what, I'm forced to use the
upmixing scheme that always sets channel 4 to a lowpass filter of 128hz,
rendering it useless for my case.

There doesn't appear to be a way to disable this that I can find, and it
seems like there should be

My current command I'm using, which works great except for channel 4
(labeled r2 in here). No matter what filter I apply, it always ends up
being a lowpass of 128.

-err_detect ignore_err -filter_complex
[0:a]channelsplit[left][right];[left]asplit=3[l1][l2][l3];[l1]aecho=1.0:0.7:25|60:0.5|0.3[l1];[l2]lowpass=f=550[l2];[l3]adelay=1,aecho=1.0:0.7:25|60:0.5|0.3[l3];[right]asplit=3[r1][r2][r3];[r1]aecho=1.0:0.7:25|60:0.5|0.3[r1];[r2]lowpass=f=550[r2];[r3]adelay=1,aecho=1.0:0.7:25|60:0.5|0.3[r3];[l1][r1][l2][r2][l3][r3]amerge=inputs=6[a]
-map 0:v -map [a] -acodec aac -c:v copy


The code, at a glance, seems to corroborate this, but it's a bit beyond my
depth to do anything further (and I don't want to compile / make a custom
version of ffmpeg)
https://github.com/FFmpeg/FFmpeg/blob/9aa20d28cdda0dcaa4daa2848670a6530c6ba26a/libavfilter/af_surround.c

So, if possible, how can I disabled the upmixing scheme?

Thanks!
-- 
Sincerely,

Jeremy


More information about the ffmpeg-user mailing list