В настоящее время я работаю над использованием этого сценария 'nightmode downmix' для ffmpeg, который я нашел здесь .
@echo off
set PATH_MKVMERGE=D:\Programs\VideoProcessing\mkvtoolnix
set PATH=%PATH%;%PATH_MKVMERGE%
@echo on
cd /d %~dp0
For %%a IN ("*.mkv") Do (
echo ---------------------- BATCH STARTING %%~na%%~xa
ffmpeg.exe -report -loglevel verbose -i "%%~na%%~xa" -map 0:a:0 -f wav -acodec pcm_f32le -ac 2 -af "pan=stereo|FL=FC+0.25*FL+0.60*LFE|FR=FC+0.20*FR+0.60*LFE" - | qaac.exe --tvbr 127 --quality 2 --rate keep --ignorelength --no-delay - -o "%%~na-ffmpeg.m4a" 1>>qaac.log 2>&1
If exist "%%~na.srt" (
mkvmerge.exe --split 4000M -o "%%~na-2chnightmode%%~xa" --no-chapters --no-audio "%%~na%%~xa" "%%~na-ffmpeg.m4a" "%%~na.srt" 1>>"mkvmerge.log" 2>&1
) Else (
mkvmerge.exe --split 4000M -o "%%~na-2chnightmode%%~xa" --no-chapters --no-audio "%%~na%%~xa" "%%~na-ffmpeg.m4a" 1>>"mkvmerge.log" 2>&1
)
)
В настоящее время это просто кодирует аудио, а затем смешивает его свидео, и, в конце концов, он оставляет мне видеофайл с исходным (скопированным) видео и микшированной аудиодорожкой, а также с отдельным созданным им аудиофайлом.
Однако при этом создается новое аудиоотслеживать до нижней части стека.Например, исходный файл содержит аудиодорожки в следующем порядке:
- 5.1-дорожка
- Комментарий к дорожке
Недавно экспортированный аудиосигнал идет в конце примерно так:
- 5.1 Трек
- Commentary Track
- ночной трек
Есть ли способ заставить новый трек стать вторымотслеживать и переместить все остальные дорожки (кроме дорожки по умолчанию) под ним, а также присвоить дорожке такой заголовок, как «NightMode 2.0»?А также для автоматического удаления «промежуточной» звуковой дорожки, которую она создает после того, как все было повторно слито воедино?
Так что, в конце концов, я остаюсь с повторно записанным видеофайлом, в котором есть все оригинальные звуковые дорожкиin, а также только что созданную дорожку NightMode в качестве второй звуковой дорожки (после дорожки по умолчанию).
Возможно ли это?