mpv - получить текущий файл внешних субтитров {РЕШЕНО}

BigOrange
только будет ли от этого легче ТС? ))
не будет, он плохо шарит как это работает на автомате...
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
я так понимаю ТС хочет править чужие сабы и потом выкладывать где-то свои с более подходящим переводом.
иначе зачем вся эта возня.
BigOrange, вытащить видео, аудио, субтитры и картинки из MKV не составляет большого труда. как и из других контейнеров поддерживающих это. и так же просто их туда внедрить.
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
В имени темы конкретно же сказано про внешний файл субтитров!, которых может быть несколько.
Их имена могут быть любыми, частично совпадающими с именем основного видеофайла:
видео (ru|rus|force|рус|en|eng).(ass|srt|vtt)

На другом форуме тоже не нашли способ, как явно получить путь к текущему файлу субтитров:
когда переключаешь сабы клавишей J отображается № файла в скобках, это порядковой № позиции файла в папке, при сортировке по имени.
Имя текущих сабов по ${sub} можно получить. Потом передать на обработку и поиск с таким именем в директории воспроизводимого файла.
Жутко костыльно конечно получится
vs220
Имя текущих сабов по ${sub} можно получить.
Спасибо за подсказку! ${sub} отлично подходит, так как каталог видео-файла можно взать из ${path}
Dobrov
В имени темы конкретно же сказано про внешний файл субтитров!, которых может быть несколько.
…….
На другом форуме тоже не нашли способ, как явно получить путь к текущему файлу субтитров:
Вот читаю и не понимаю - речь идет о внешних субтитрах, так называемых softsub субтитрах? - если да, то эти файлы должны лежать совместно с видеофайлом, в одной директории, а имя этого внешего файла специфицировано и имеет следующий формат: ID-Name_N_LANG.ext
где ID-Name - имя файла, которое полностью или частично должно совпадать с именем видеофайла
N - номер трека субтитров
LANG - код языка в определенном формате
ext - расширение файла (форматов несколько, но в большинстве случаев это формат srt)

Но прогресс на месте не стоит и сейчас идут другим путем (но не всегда) - встраивают эти субтитры отдельным текстовым потоком в файл-контейнер, но эти текстовые потоки можно вытащить из контейнера, а значит можно, зная структура формата, прочитать названия этих субтитров.

PS - а вот hardsub (вшитые субтитры) вытащить нельзя, они железно вшиты в видеофайл.

EDIT 1 - в части извлечения subtitles из контейнера - для извлечения файла из контейнера не обязательно знать формат, намного проще использовать ffmpeg, используя который можно узнать как информацию о subtitles, так и извечь сам файл (в виде внешнего файла).
Ошибки не исчезают с опытом - они просто умнеют
vasek
Вот читаю и не понимаю - речь идет о внешних субтитрах, так называемых softsub субтитрах? - если да, то эти файлы должны лежать совместно с видеофайлом, в одной директории, а имя этого внешего файла специфицировано и имеет следующий формат: ID-Name_N_LANG.ext
Да, всё так. Задача: получить имя текущего файла субтитров на случай, если рядом с видеофайлом есть несколько субтитров.
То есть вернуть имя выбранных субтитров (или пустую строку), если их несколько: имя + (ru|rus|Force|рус|en|eng).(ass|srt|vtt)…

P.S. Не знал, что так трудно понять заголовок темы, и что из его краткого текста возникнет столько вариантов обсуждений…
Dobrov
Не знал, что так трудно понять заголовок темы, и что из его краткого текста возникнет столько вариантов обсуждений…
Просто сейчас эти внешние файлы редко используются и в основном при самострое. Как писал, сейчас в основном используется контейнер, а в его структуре, насколько знаю, имени файла subtitles нет, но вытащить его из контейнера (в виде отдельного файла) можно ... вот я сначала и подумал на контейнер.
Ошибки не исчезают с опытом - они просто умнеют
vasek, категорически поддерживаю! ;)
жесткие субтитры - по за прошлый, а внешние это прошлый век.
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
 
Зарегистрироваться или войдите чтобы оставить сообщение.