Блог о Gentoo и около-линуксовым штукам

1 марта 2018 г.

Заметки о вытаскивании дорожек из mkv и создании mka

00:50 Опубликовал Дмитрий Исаенко , 3 коммент.
Есть задача — вытащить аудио-дорожку из одного mkv файла и сделать из неё mka файл. Таким образом можно было бы использовать экспортированный дубляж в другом, более качественном видео-файле. Итак, нам понадобится mkvtoolnix. Ставим:
# emerge media-video/mkvtoolnix
Далее получаем информацию о файле-доноре. В нём ищем информацию о звуковых дорожках внутри матрёшки.
$ mkvinfo ./anime.mkv
+ Заголовок EBML
|+ Версия EBML: 1
...
...
| + Дорожка
|  + Номер дорожки: 2 (идентификатор дорожки для mkvmerge и mkvextract: 1)
|  + UID дорожки: 16263157260285453471
|  + Тип дорожки: audio
|  + Идентификатор кодека: A_MPEG/L3
|  + Продолжительность по умолчанию: 24.000ms (41.667 кадров/полей в секунду для видеодорожки)
|  + Язык: und
|  + Audio track
|   + Частота дискретизации: 48000
|   + Каналы: 2
|+ EbmlVoid (размер: 1095)
|+ Кластер
Тут важно обратить внимание на то, что подсвечено красным. В данном примере используется mp3 файл который имеет идентификатор 1 для mkvextract. Сейчас мы этим и воспользуемся. Вытаскиваем аудиодорожку в файл file.mp3.
$ mkvextract tracks ./anime.mkv 1:file.mp3
Извлечение дорожки 1 с CodecID 'A_MPEG/L3' в файл 'file.mp3'. Формат контейнера: MPEG-1 Audio Layer 2/3
Обработано: 100%
Также можем наверстать скриптик, который сделает рекурсивный обход всех файлов в папке и извлечёт из них заданые дорожки:
# vim script.sh
#!/bin/bash
for f in *.mkv
do
    mkvextract tracks "$f" 1:"$f".mp3
done

# chmod +x script.sh
# script.sh
Теперь воспользуемся GUI обёрткой над mkvtoolnix (mkvtoolnix-gui). Вы же собрали пакет с флагом qt5, верно? ;)
Выбираем файл (правой кнопкой клик на поле «Исходные файлы». Далее ставим нужный язык в одноимённом поле и жмём «Выполнить сборку».
На выходе получаем mka-файл. В моём случае подгонка по таймлайнам не требовалась, так что всё сразу заработало.

На этом всё!

3 комментария:

  1. а что если в видео вставлена музыка которую хочу сохранить,но показывает одну дорожку вместе со всем что есть в видео,можно это как-то исправить?

    ОтветитьУдалить
    Ответы
    1. Можно вытащить дорожку, закинуть её в Audacity и вырезать всё лишнее %)

      Удалить
  2. типа обычным удалением вокала?,это получится ужас к сожалению,даже в spleeter не всегда получается сделать)..

    ОтветитьУдалить