This is kind of long because I wanted to cover everything we’ve tried, which are many, many things, so no one will waste time with a response covering something we already tried.
I am the technical director for a film festival. This year it’s being held at an older theater which has an unusual setup: all the projectors are brand new digital projectors but they left in the analog sound systems whose processors are mostly from the 1980s and 1990s. Last year was also held at an older theater, but in addition to all digital projectors, all the sound processors were also digital, so all we had to do was create exhibition files with a Dolby Digital soundtrack (.ac3) and everything sounded great. This year’s setup has created a problem I can’t figure out how to fully resolve.
The only types of video files the projectors recognize are DCPs, which we don’t have time to make for 100 films, and MPEG1/2. True MPEG (with an .mpg extension) cannot have a Dolby Digital soundtrack. I even attempted to trick the system by changing the .mpg to a .vob, then added the .ac3 sound, then changed the extension back to .mpg, which worked on our computers with VLC player, but the projectors refused to play those files. The only sound-type the projectors understand in association with MPEG video is MPEG audio, which is only analogPCM stereo. (They do understand Dolby Digital but only in association with DCPs as far as we can tell.) So we are likely left with using analogPCM stereo sound.
The problem with that is, stereo sound is very low on these sound systems. Stereo attempts to make a false center with the left and right speakers, but the left and right volume is set fairly low, as should be the case, so the false center is extremely low as well. We set the master volume at full blast and still it was all a whisper. Most of the films have been mixed fairly well so if we attempt to amplify the volume at the render point, we end up with a lot of peaking.
So the only solution I could come up with was to create a Dolby Pro Logic (II) soundtrack for all the films using ffmpeg’s aresample on an .ac3 file, because the old sound systems do understand Pro Logic. And indeed in tests, it creates a great center channel with great volume without having to amplify anything (for most films).
But the problem here is the center channel is often leaking into the surround speakers. This is despite the fact that the .ac3 files are being created with empty surround channels and if you play the original .ac3 file on our home systems, there is nothing in the surround channels. But if you listen closely enough to the Pro Logic .mp3, you will hear center channel leakage quite frequently. This is not really very noticeable on home sound systems (sometimes not all unless you put your ear on the speaker) but at the theater with its 1000+ watt amplifiers and dozen surround speakers, it’s often VERY noticeable, particularly the crosstalk.
My question in general is, what should I do to fix this problem? Aside from the obvious: turn off the surround amplifier. That may or may not be feasible; I swear in a couple of projectors in smaller auditoriums that we may have to use, the same amplifier is being used for both center and surround, which I have never seen in all my years of working in this business. So let’s just say that isn’t always feasible.
Is ffmpeg’s Dolby Pro Logic formula causing the leakage? Some sites suggest this is unavoidable, though I have never noticed it on professional DVDs/Blu Rays/35mm films in Pro Logic mode, but those do start with professional mixing meant for Pro Logic and 6 unique streams instead of the stereo I am starting with.
That said, I noticed there is an ffmpeg option called “surround_level” or “slev” that can be set to a value of zero but I don’t understand its syntax or how to use it. I’m not sure that would fix the problem anyway, because again, the original .ac3 files have nothing in the surround, so the Pro Logic feature must just be creating its own surround.
Here is the command I used (again, with the 5.1 audio .ac3 file having empty surround sound channels):
ffmpeg -i test-dolby-digital.ac3 -acodec libmp3lame -b:a 320k -af "aresample=matrix_encoding=dplii" test-dolby-pro-logic.mp3
(Where in that would "surround_level" or "slev" set to zero go?)
I also attempted to manually create Pro Logic files by merging 6 mono files together, with left PL = original left + original left X 0.707106 (for center) + original left X 0.707106 (for surround) and right PL = original right + original right X 0.707106 (for center) + (inverted) original right X 0.707106 (for surround), and both surrounds were blank, but still ended up with leakage into the surround.
I also even tried to use a mono file as my starting point instead of a stereo file and even that led to leakage in the surrounds.
I’m really running out of ideas and time.