From 50c7b99e41ff11dc345680cbda32a1b043f2a3fa Mon Sep 17 00:00:00 2001 From: James Bunton Date: Mon, 4 Jan 2016 16:26:44 +1100 Subject: [PATCH] fix-pal-speedup now preserves surround sound for movies --- fix-pal-speedup | 42 ++++++++++++++---------------------------- 1 file changed, 14 insertions(+), 28 deletions(-) diff --git a/fix-pal-speedup b/fix-pal-speedup index 27ddd48..ab49490 100755 --- a/fix-pal-speedup +++ b/fix-pal-speedup @@ -3,7 +3,7 @@ # Many DVDs released in Australia are sped up from 24fps to 25fps. # This script reverses the procedure, correcting the audio pitch. # The video framerate is adjusted without re-encoding. The audio is -# slowed, volume normalised, down-mixed to stereo and encoded as mp3. +# slowed, and encoded as AAC, preserving surround sound. if [ -z "$1" -o -z "$2" ]; then echo "Usage: $0 destdir infile [infile ...]" @@ -12,7 +12,7 @@ fi set -xe FORCEFPS="24" -SLOWDOWN="0.96" +SLOWFILTER="-filter asetrate=46080,aresample=48000" function mux_replace_audio { local infile="$1" @@ -30,43 +30,29 @@ function extract_audio { mplayer \ -noconfig all \ -novideo \ - -ao "pcm:waveheader:file=${outfile}" \ + -channels 8 \ + -dumpaudio \ + -dumpfile "$outfile" \ "$infile" } -function slow_audio { - local infile="$1" - local outfile="$2" - - sox \ - --temp "$tmpdir" \ - "$infile" \ - -t wav \ - "$outfile" \ - speed "${SLOWDOWN}" \ - gain -n -} - function encode_audio { - local infile="$1" - local outfile="$2" - - lame \ - --preset standard \ - "${infile}" "${outfile}" + ffmpeg \ + -i "$1" \ + $SLOWFILTER \ + -strict experimental \ + "$2" } function convert_file { local infile="$1" local outfile="$2" - local audio1="${tmpdir}/audio1.wav" - local audio2="${tmpdir}/audio2.wav" - local audio3="${tmpdir}/audio3.mp3" + local audio1="${tmpdir}/audio1.ac3" + local audio2="${tmpdir}/audio2.m4a" extract_audio "${infile}" "${audio1}" - slow_audio "${audio1}" "${audio2}" - encode_audio "${audio2}" "${audio3}" - mux_replace_audio "${infile}" "${audio3}" "${outfile}" + encode_audio "${audio1}" "${audio2}" + mux_replace_audio "${infile}" "${audio2}" "${outfile}" } -- 2.39.2