Автоматизация извлечения субтитров с помощью ruby и mkvextract - PullRequest
1 голос
/ 03 февраля 2020

В то время как go мне удалось взломать скрипт в ruby, который бы смотрел в папку и извлекал субтитры из всех файлов .mkv, содержащихся в.

Однако мой компьютер с тех пор потерпел крах, и я пришлось переустановить ruby, теперь я попробовал его снова, и он, кажется, не работает для меня, не уверен, если у меня была более старая версия моего скрипта или что.

вот код

path = ARGV[0]
Dir.chdir(path)
filename = "#{path}#{Dir.glob("*.mkv").first(1)[0]}"
puts filename

Dir.glob("#{path}*.mkv"). each do | mkv_path |
mkv_name = File.basename( mkv_path, ".*" )
extract_command = `mkvextract tracks #{mkv_path} #{2}:#{mkv_name}.srt`
puts "#{mkv_name}"
end

и у меня установлено ruby и mkvtoolnix, очевидно. не уверен насчет переменных среды для mkvextract, хотя, возможно, в этом проблема? Я нахожусь на windows 10.

В любом случае, я просто запускаю его, открывая командную строку, заходя в каталог и набирая:

ruby SRTextractor.rb {e:\test}

(проверить, является ли папка, в которой он находится, SRTextractor.rb является сценарием) Если мой mkv называется mov ie, он возвращает это в консоли

e:/testmovie.mkv

, но не создает файл SRT. Я не уверен, что это ошибка с именем файла или она должна выглядеть так. Если кто-то может помочь мне с тем, как это сделать, буду очень признателен, спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...