On Thu, Jun 23, 2022 at 10:30 PM Jeremy F <advanc...@gmail.com> wrote:
> Unfortunately due to platform limitations, AAC is the only > mutli-channel audio codec supported in my use case. However, I do not see, > at a glance, where the AAC specification mandates that if there are 6 > channels, that channel 4 must be a 128hz LFE channel. AAC also supports the > 6.0 channel layout for example, which does not include LFE. Ffmpeg appears > to be making assumptions at channel layout, as well as doing corresponding > upmixing schemes, with no way to override or disable. This is does not > appear to be an AAC problem > Then use join filter instead of amerge and specify 6.0 layout, Good luck. > > On Thu, Jun 23, 2022 at 4:04 PM Paul B Mahol <one...@gmail.com> wrote: > > > On Thu, Jun 23, 2022 at 8:43 PM Jeremy F <advanc...@gmail.com> wrote: > > > > > That's what I thought! However, here are some commands showing this. I > > set > > > the lowpass to be 10khz on channel4 just to prevent any confusion (it > > > should clearly _not_ sound like any kind of real low pass filter). With > > an > > > input of "vid.mp4" that has standard stereo, run the following: > > > > > > ffmpeg -i vid.mp4 -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=10000[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 vid1.mp4 > > > > > > Then to extract channel 4 (since its zero based it's labeled 3): > > > > > > ffmpeg -i vid1.mp4 -map_channel 0.1.3 ch4.mp3 > > > > > > ch4.mp3 will be a 128hz lowpass filtered version of the audio, despite > me > > > never specifying that. > > > > > > > > Stop transcoding to aac. > > > > > > > > > > > > On Thu, Jun 23, 2022 at 1:48 PM Paul B Mahol <one...@gmail.com> wrote: > > > > > > > On Thu, Jun 23, 2022 at 7:09 PM Jeremy F <advanc...@gmail.com> > wrote: > > > > > > > > > A more succinct way of putting it: if I channelsplit (or any other > > type > > > > of > > > > > upmixing as far as I'm aware) into 6 channels, channel 4 always > has a > > > > 128hz > > > > > low pass filter applied to it. I do not want this > > > > > > > > > > My particular use case is I play a game that supports multi-channel > > > live > > > > > audio streams, but no filters on any audio. So I apply filters > myself > > > and > > > > > position them as appropriate in the game (i.e. a reverb/echo effect > > in > > > a > > > > > hallway, a 550hz lowpass outside the main area, etc.). More > > generally, > > > > > ffmpeg should allow me to apply any effect to any channel, but it > > would > > > > > appear ffmpeg sees me using 6 channels, and decides to use the > > default > > > > > 5.1(side) upmixing scheme. I could find little documentation on > this > > > > > behaviour, but this page very briefly mentions this behaviour about > > > > halfway > > > > > down https://trac.ffmpeg.org/wiki/AudioChannelManipulation > > > > > > > > > > Also my provided command was a bit verbose. I could simply > > channelsplit > > > > L & > > > > > R into 3 channels each without any modification to any individual > > > > channels. > > > > > All channels will be duplicates of its original L or R channel, but > > > > channel > > > > > 4 will have a 128hz low pass on it. > > > > > > > > > > > > > That directly contradicts with reality. > > > > > > > > FFmpeg never applies lowpass to LFE channels, unless you call lowpass > > > > filter or similar filter on it. > > > > > > > > > > > > > > > > > > On Thu, Jun 23, 2022 at 12:55 PM Paul B Mahol <one...@gmail.com> > > > wrote: > > > > > > > > > > > On Thu, Jun 23, 2022 at 6:45 PM Jeremy F <advanc...@gmail.com> > > > wrote: > > > > > > > > > > > > > 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? > > > > > > > > > > > > > > > > > > > The surround filter have nothing to do with that filtergraph > above. > > > > > > > > > > > > And I really failed to understand what you are trying to do. > > > > > > > > > > > > > > > > > > > > > > > > > Thanks! > > > > > > > -- > > > > > > > Sincerely, > > > > > > > > > > > > > > Jeremy > > > > > > > _______________________________________________ > > > > > > > ffmpeg-user mailing list > > > > > > > ffmpeg-user@ffmpeg.org > > > > > > > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > > > > > > > > > > > > > To unsubscribe, visit link above, or email > > > > > > > ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe". > > > > > > > > > > > > > _______________________________________________ > > > > > > ffmpeg-user mailing list > > > > > > ffmpeg-user@ffmpeg.org > > > > > > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > > > > > > > > > > > To unsubscribe, visit link above, or email > > > > > > ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe". > > > > > > > > > > > > > > > > > > > > > -- > > > > > Sincerely, > > > > > > > > > > Jeremy > > > > > _______________________________________________ > > > > > ffmpeg-user mailing list > > > > > ffmpeg-user@ffmpeg.org > > > > > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > > > > > > > > > To unsubscribe, visit link above, or email > > > > > ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe". > > > > > > > > > _______________________________________________ > > > > ffmpeg-user mailing list > > > > ffmpeg-user@ffmpeg.org > > > > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > > > > > > > To unsubscribe, visit link above, or email > > > > ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe". > > > > > > > > > > > > > -- > > > Sincerely, > > > > > > Jeremy > > > _______________________________________________ > > > ffmpeg-user mailing list > > > ffmpeg-user@ffmpeg.org > > > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > > > > > To unsubscribe, visit link above, or email > > > ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe". > > > > > _______________________________________________ > > ffmpeg-user mailing list > > ffmpeg-user@ffmpeg.org > > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > > > To unsubscribe, visit link above, or email > > ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe". > > > > > -- > Sincerely, > > Jeremy > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe". > _______________________________________________ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".