CupNoodleFanatic
CupNoodleFanatic

Reputation: 23

FFmpeg upmix command stereo ~> 5.1

I need to upmix stereo mkv files with chapter, subtitle, audio and video streams to 5.1 flac with a silent center channel. The audio is a single stereo stream, not two mono streams. I need the resulting mkv to contain a single 6 channel flac stream.

My desired channel layout is FR = FR, FR ~> SR, FL = FL, FL ~> SL, Center silent, LFE = FR+FL

I followed the FFmpeg documentation and was unable to produce the desired mapping.

The command so far (generated with help from Axiom GUI):

./ffmpeg -i TestIN.mkv -c:v copy -map 0:v? -map_chapters 0 -c:s copy -map 0:s? -c:a flac -sample_fmt s16 -rematrix_maxval 1.0 -ac 6 -map 0:a:0? -map_metadata 0 -f matroska -threads 0 X:\TestOUT.mkv

Any help would be greatly appreciated.

Upvotes: 2

Views: 7385

Answers (2)

riamu
riamu

Reputation: 1

To avoid precisely same audio in front and rear they can be filtered:

SL=FL-FR|SR=FR-FL

I made a test with two channel mono audio and rear channels were muted.

Also, if you want to decrease the volume in rear channels use a decimal factor:

SL=0.3*FL-0.3*FR|SR=0.3*FR-0.3*FL

I believe there are more sophisticated ways than these but could not find any.

Upvotes: 0

llogan
llogan

Reputation: 133673

Use the pan filter:

ffmpeg -i input.mkv -filter_complex "[0:a]pan=5.1(side)|FL=FL|FR=FR|LFE<FL+FR|SL=FL|SR=FR[a]" -map 0 -map -0:a -map "[a]" -c copy -c:a flac output.mkv

Upvotes: 5

Related Questions