Пакетная обработка mkv с помощью mkvtoolnix/mkvmerge [Инструкция]

Ответить
 

Albert_Wesker

Старожил

Стаж: 14 лет 10 месяцев

Сообщений: 127

Albert_Wesker · 04-Июл-23 22:44 (1 год 5 месяцев назад)

Написал батник для пакетного объединения mkv и mka (видео и аудио). Файлы должны лежать в одной папке, так же измените путь до mkvtoolnix. Немного о работе скрипта: скрипт удаляет все дорожки кроме японской, добавляет новую и делает ее первой
скрытый текст
Код:

@echo off
:: НИЖЕ УКАЗАТЬ ПУТЬ ДО "mkvmerge.exe" ::
set path=D:\mkvtoolnix
echo Video: mkv, audio: mka, sub: ass. Enter - yes, N - no.
set /p ans="Answer: "
if "%ans%" EQU "" (
set vid=mkv
set aud=mka
set sub=ass
) else (
set /p vid="Video: "
set /p aud="Audio: "
set /p sub="Sub: "
)
REM Удаление всех аудио дорожек
FOR %%A IN (*.%vid%) DO (
if exist "%%~NA.%aud%" (
  "%path%\mkvmerge.exe" -o "!new\%%~NA.%vid%" --no-tracks "^audio" "%%A"
) else (
  if exist "%%~NA.%sub%" (
   "%path%\mkvmerge.exe" -o "!new\%%~NA.%vid%" --no-tracks "^audio" "%%~NA".%sub% --compression 1:none "%%A"
  ) else (
   echo '%%~NA.%vid%' - ONLY VIDEO, SKIP!
  )
)
)
REM Выполнение основной части кода
FOR %%A IN (*.%vid%) DO (
if exist "%%~NA.%aud%" (
  if exist "%%~NA.%sub%" (
   "%path%\mkvmerge.exe" -o "!new\%%~NA".%vid% --default-track 0:yes --language 0:rus --compression 0:none "%%~NA".%aud% "%%~NA".%sub% --compression 1:none "%%A"
  ) else (
   "%path%\mkvmerge.exe" -o "!new\%%~NA".%vid% --default-track 0:yes --language 0:rus --compression 0:none "%%~NA".%aud% --compression 1:none "%%A"
  )
) else (
  if exist "%%~NA.%sub%" (
   "%path%\mkvmerge.exe" -o "!new\%%~NA".%vid% --default-track 0:yes --language 0:rus --compression 0:none "%%~NA".%sub% --compression 1:none "%%A"
  ) else (
   echo '%%~NA.%vid%' - ONLY VIDEO, SKIP!
  )
)
)
color 0A
echo DONE!
PAUSE
:: AlivE_and_Vano / v1.11 / 2023 ::
[Профиль]  [ЛС] 

Adventurer_Kun

Top Seed 01* 40r

Стаж: 12 лет 6 месяцев

Сообщений: 4958

Adventurer_Kun · 06-Июл-23 07:01 (спустя 1 день 8 часов, ред. 06-Июл-23 07:01)

[FAQ] Быстрый способ вшить озвучку в видео во все серии для просмотра на телевизоре или приставке.
[FAQ] Пакетная обработка всех файлов скриптами при создании раздач.
[Профиль]  [ЛС] 

Albert_Wesker

Старожил

Стаж: 14 лет 10 месяцев

Сообщений: 127

Albert_Wesker · 06-Июл-23 09:04 (спустя 2 часа 3 мин.)

где ж вы раньше были
еще бы знаете что... опененги пакетно вырезать... Сам использую такой код
скрытый текст
Код:

@echo off
set ffmpeg_path=D:\ger\Serial_Experiments_Lain_BDRip_720p_Hi10p_[AnimeCeh]\!new\ro\ffmpeg.exe
mkdir "crop" 2>nul
for A in (*.mkv) do (
%ffmpeg_path% -i "A" -ss 00:01:56 -c copy "crop\%%A"
)
echo Обрезка файлов завершена. Измененные файлы находятся в папке "crop".
pause
Проблема - черный экран пару секунд, потом картинка сыпется где то в середине. Если прописать -ss 00:01:56 вначале команды, то тайминги сбиваются -- то есть как то криво режется, не там где планировал
[Профиль]  [ЛС] 

Adventurer_Kun

Top Seed 01* 40r

Стаж: 12 лет 6 месяцев

Сообщений: 4958

Adventurer_Kun · 06-Июл-23 10:08 (спустя 1 час 3 мин., ред. 06-Июл-23 10:08)

Albert_Wesker
Если резать без перекодивания, то оно режется на местах ближайших ключевых кадров от указанного тайминга.
Можно резать скриптом что режет через mkvtoolnix, там проблем меньше с сбиванием тайминга, но режет также по ключевым кадрам.
[Профиль]  [ЛС] 

Albert_Wesker

Старожил

Стаж: 14 лет 10 месяцев

Сообщений: 127

Albert_Wesker · 06-Июл-23 12:51 (спустя 2 часа 42 мин.)

Adventurer_Kun писал(а):
скриптом что режет через mkvtoolnix, там проблем меньше с сбиванием тайминга, но режет также по ключевым кадрам.
ткните носом, не нашел
[Профиль]  [ЛС] 

Adventurer_Kun

Top Seed 01* 40r

Стаж: 12 лет 6 месяцев

Сообщений: 4958

Adventurer_Kun · 06-Июл-23 18:54 (спустя 6 часов, ред. 06-Июл-23 18:54)

Albert_Wesker
Этот скрипт надо ещё написать мне)
Albert_Wesker
Запускаете и вводите время в формате 00:00:00 и нажимаете Enter.
Введя 00:01:30. Всё что дальше этого времени сохранится.
скрытый текст
Код:
@echo off
set /p time=
for %%f in ("*.mkv","*.mp4","*.hevc","*.avi","*.h264","*.m2ts") do "%PROGRAMFILES%\MkvToolNix\mkvmerge.exe" --output "Completed\%%~nf.mkv"  ( "%%f" ) --title "%%~nf" --split parts:%time%-01:00:00
for %%f in ("*.mkv","*.mp4","*.hevc","*.avi","*.h264","*.m2ts") do "%PROGRAMFILES(x86)%\MkvToolNix\mkvmerge.exe" --output "Completed\%%~nf.mkv"  ( "%%f" ) --title "%%~nf" --split parts:%time%-01:00:00
[Профиль]  [ЛС] 

Albert_Wesker

Старожил

Стаж: 14 лет 10 месяцев

Сообщений: 127

Albert_Wesker · 09-Июл-23 06:28 (спустя 2 дня 11 часов)

Adventurer_Kun
Красиво, лаконично, а я такого нагородил! Теперь можно эксперименты лейн на старом телеке посмотреть, спасибо!
[Профиль]  [ЛС] 

ваще вася

Стаж: 15 лет 3 месяца

Сообщений: 22


ваще вася · 29-Июл-23 19:00 (спустя 20 дней)

Добрый день!
Правильно ли я понимаю, что при mkvextrackGui с дорожкой dts.x в коньейнере mkv "танцы сбубном" не нужны как с атмос через aec3to, что она сразу с объектами экспортируется?
[Профиль]  [ЛС] 

ваще вася

Стаж: 15 лет 3 месяца

Сообщений: 22


ваще вася · 03-Авг-23 05:02 (спустя 4 дня)

Добрый день!
Правильно ли я понимаю, что при mkvextrackGui с дорожкой dts.x в коньейнере mkv "танцы сбубном" не нужны как с атмос через aec3to, что она сразу с объектами экспортируется?
[Профиль]  [ЛС] 

isbs

Top Seed 02* 80r

Стаж: 15 лет 10 месяцев

Сообщений: 567

isbs · 03-Авг-23 11:22 (спустя 6 часов)

ваще вася писал(а):
85024089Добрый день!
Правильно ли я понимаю, что при mkvextrackGui с дорожкой dts.x в коньейнере mkv "танцы сбубном" не нужны как с атмос через aec3to, что она сразу с объектами экспортируется?
Все объекты зашиты в поток как в DTSHD-MA (X), так и в DOLBY TRUE-HD (ATMOS). Никакой mkvextrackGui на них никак не повлияет.
[Профиль]  [ЛС] 

ваще вася

Стаж: 15 лет 3 месяца

Сообщений: 22


ваще вася · 08-Авг-23 05:07 (спустя 4 дня)

isbs писал(а):
85024747
ваще вася писал(а):
85024089Добрый день!
Правильно ли я понимаю, что при mkvextrackGui с дорожкой dts.x в коньейнере mkv "танцы сбубном" не нужны как с атмос через aec3to, что она сразу с объектами экспортируется?
Все объекты зашиты в поток как в DTSHD-MA (X), так и в DOLBY TRUE-HD (ATMOS). Никакой mkvextrackGui на них никак не повлияет.
То есть выгружается DTS:X полноценный, хоть и в разрешении .dts? Так как Долби выгружается только труХД, поэтому проще выгружать через еас3tо в разрешение .thd+ac3.
Дело в том, что пока нет возможности проверить звук на ресивере.
[Профиль]  [ЛС] 

isbs

Top Seed 02* 80r

Стаж: 15 лет 10 месяцев

Сообщений: 567

isbs · 18-Авг-23 21:16 (спустя 10 дней)

ваще вася писал(а):
То есть выгружается DTS:X полноценный, хоть и в разрешении .dts? Так как Долби выгружается только труХД, поэтому проще выгружать через еас3tо в разрешение .thd+ac3.
Дело в том, что пока нет возможности проверить звук на ресивере.
Вы путаете MKVextract и eac3to. Первый выгружает как есть. А второй как раз может выдернуть полноценный поток или ядро.
[Профиль]  [ЛС] 

hoda228

Стаж: 1 год 11 месяцев

Сообщений: 134


hoda228 · 07-Сен-23 14:18 (спустя 19 дней)

приветствую .
а что можно сделать если название файла и исходник не совпадает ?
[Профиль]  [ЛС] 

Keynol

Старожил

Стаж: 19 лет 10 месяцев

Сообщений: 6734

Keynol · 07-Сен-23 14:28 (спустя 9 мин.)

hoda228
Опишите на примере, станет яснее, поможет ли скрипт
[Профиль]  [ЛС] 

hoda228

Стаж: 1 год 11 месяцев

Сообщений: 134


hoda228 · 07-Сен-23 19:50 (спустя 5 часов)

Keynol
хочу перепаковать сериальчик . вырезать ненужные озвучи и субтитры.
Я первый раз столкнулся с mkvtoolnix .так что освоил только пакование по одному файлу .
чаще всего серия называется по руски а исходник название на английском совсем другое.
например
файл называется - 09. Формула мести.mkv , иходный файл ставит - The Big Bang Theory - S03E09 The Vengeance Formulation.mkv
вырезать нужно две озвучки , оставить только кураж бомбей и удалить английские субтитры
Всамой программе не нашел такого чтоб все выделить и по правилу удалить заданые озвучки и сабы . даже если все скидываю в кучу то выводит в один файл
тут что то можно поделать скриптом ?
[Профиль]  [ЛС] 

Keynol

Старожил

Стаж: 19 лет 10 месяцев

Сообщений: 6734

Keynol · 07-Сен-23 21:12 (спустя 1 час 21 мин., ред. 07-Сен-23 21:13)

hoda228
смотрите, все исходники надо привести к такому виду
The Big Bang Theory - S03EL.mkv
где L - номер серии.
Если серий в папке больше 9, то нужно указать это в скрипте, если больше 99 тоже.
т.е. будет одно и то же название, но будет меняться ТОЛЬКО номер серии.
иначе никак
Уже после получения списка измененных файлов, вручную можете из называть как душе угодно.
Но после этого скриптом если что, воспользоваться не получится.
Скрипт меняет после работы только номер серии и всё.
Названия в исходнике/результате будут одни и те же, отличия только в номере серий.
Если у вас несколько сезонов с нумерацией например по 20 серий, то нужны разные папки на каждый сезон.и для скрипта нужно будет на каждый сезон прописывать путь.
либо переименовать ВСЕ серии от 01 до последней в нужном формате и свалить в одну папку и тогда скрипт зараз всё обработает.
но разделения на сезоны не будет.
[Профиль]  [ЛС] 

hoda228

Стаж: 1 год 11 месяцев

Сообщений: 134


hoda228 · 07-Сен-23 21:12 (спустя 23 сек., ред. 07-Сен-23 21:15)

Keynol
думаю что удобней будет все в одну папку свалить. потомучто там несколько сезонов и много файлов. попробую использовать какойто авто ренеймер есл он такое может. хотя названия серий на руском тоже не хотелось бы терять.
спасибо за совет. буду пробывать
[Профиль]  [ЛС] 

Keynol

Старожил

Стаж: 19 лет 10 месяцев

Сообщений: 6734

Keynol · 07-Сен-23 21:14 (спустя 2 мин.)

hoda228
Пожалуйста
p.s. дополнил инструкцию.
[Профиль]  [ЛС] 

Xsive Pro

Стаж: 17 лет 2 месяца

Сообщений: 1213

Xsive Pro · 27-Фев-24 03:00 (спустя 5 месяцев 19 дней)

Ребят, а какая версия является последней из классических (до редизайна), я пользуюсь 4.5.0 уже несколько лет, а начиная с какой поменялась оболочка?
[Профиль]  [ЛС] 

teleport2222

Стаж: 10 лет 2 месяца

Сообщений: 152

teleport2222 · 27-Фев-24 08:23 (спустя 5 часов)

Xsive Pro
8.3.0
Можно выбрать старый или новый дизайн установить.
[Профиль]  [ЛС] 
 
Ответить
Loading...
Error