Объединение mkv в Windows (автоматизировано, без использования графического интерфейса)

Время от времени я получаю несколько mkv с сервера, который у меня есть. Все эти mkv являются частью одной и той же записи, но они идут кусками по 1 минуте, и я не хочу каждый раз тратить время на то, чтобы сшивать их вместе вручную. Можно ли это сделать с помощью автоматизированного процесса в Windows?

EDIT: См. мой ответ ниже для решения, которое сработало для меня. Пост Эндоро также выглядит многообещающе.


person austinthemassive    schedule 29.07.2013    source источник
comment
Вы можете использовать что-то вроде mkvtoolnix для объединения файлов.   -  person Luke    schedule 29.07.2013
comment
Спасибо за указатель. Я нашел блог о mkvtoolnix, который содержал справку по командам cmd.exe.   -  person austinthemassive    schedule 29.07.2013
comment
расскажи что-нибудь об именах файлов твоих "фрагментов" и структуре (треков): всегда одно и то же?   -  person Endoro    schedule 29.07.2013
comment
На самом деле я только что успешно завершил этот процесс, однако мне не разрешено отвечать на свой вопрос еще несколько часов (поскольку я новый пользователь).   -  person austinthemassive    schedule 29.07.2013
comment
Я исправил свой код. Теперь он собирает все MKV из исходной папки в один выходной MKV.   -  person Endoro    schedule 01.08.2013


Ответы (3)


Могу привести пример:

@echo off &setlocal enabledelayedexpansion
cd /d "%sourcefolder%"
set "line="
for %%a in (*.mkv) do set line=!line! +"%%~a"
mkvmerge -o "output.mkv" %line:~2%
person Endoro    schedule 29.07.2013
comment
Это выглядит многообещающе, но, поскольку я не пробовал (уже решив свою проблему), я не могу поручиться за его эффективность. Кто-нибудь еще использовал это? - person austinthemassive; 08.08.2013
comment
У меня большой опыт работы с видеоинструментами командной строки (mkvtoolnix, mp4box, ffmpeg, MPlayer, x264...) и да, это работает :). - person Endoro; 08.08.2013
comment
это работает отлично, просто есть задержка при загрузке результирующей строки. большое спасибо. - person feos; 02.01.2016
comment
этот ответ выиграет от некоторой информации о том, что такое mkvmerge - person LudvigH; 17.03.2021

Продолжая исследования, я обнаружил страницу загрузки, которая также содержала обзор mkvtoolnix (http://www.fosshub.com/MKVToolNix.html), в котором упоминались некоторые команды cmd, которые он тестировал вместе со стандартным тестом графического интерфейса. с помощью команды «mkvmerge --help» я смог определить подходящую команду для объединения файлов mkv. Это выглядело примерно так:

C:\Program Files (x86)\MKVToolNix>mkvmerge file1.mkv + file2.mkv --output C:\Users\User1\mkvfolder\combined.mkv

Это объединило два файла mkv (которые находились в папке MKVToolNix) и поместил объединенный файл .mkv в другой каталог. Мне показалось, что изменение исходных каталогов для любого из исходных mkv (file1.mkv, file2.mkv) также должно быть возможным, поэтому я попробовал следующее:

C:\Program Files (x86)\MKVToolNix>mkvmerge file1.mkv + C:\Users\User1\Documents\file2.mkv  --output C:\Users\User1\mkvfolder\combined.mkv

Вышеприведенный код объединил файл1.mkv (который я поместил в каталог mkvtoolnix) с файлом2.mkv (который я разместил в другом каталоге) и поместил объединенный файл (combined.mkv) в третий каталог. Объединенный файл работал чисто в vlc, без сбоев в точке сшивания.

TL DR: перейдите на http://www.fosshub.com/MKVToolNix.html, загрузите MKVToolNix , и используйте командную строку для объединения файлов mkv.

person austinthemassive    schedule 30.07.2013

Вы можете попробовать использовать AVIDemux с аргументом --append. По этой ссылке также есть пример сценария пакетного файла.

person djangofan    schedule 29.07.2013