- infile="$1"
- audiofile="$2"
- outfile="$3"
-
- trackid="$(mkvmerge -i "$infile" | grep video | sed 's/^Track ID \(.\):.*$/\1/')"
- mkvmerge -o "${outfile}" --default-duration "${trackid}:${FORCEFPS}fps" --no-audio "$infile" "$audiofile"
+ local infile="$1"
+ local audiofile="$2"
+ local outfile="$3"
+
+ local audiodelay="$(get_audio_delay "$infile")"
+ local videotrackid="$(get_video_trackid "$infile")"
+
+ mkvmerge \
+ -o "${outfile}" \
+ --default-duration "${videotrackid}:${FORCEFPS}fps" \
+ --no-audio "$infile" \
+ --sync "0:$((audiodelay / 1000000))" \
+ "$audiofile"