LINUX.ORG.RU

SMPlayer и плейлист с внешними аудиодорожками

 , ,


0

1

Смотрю серию симпозиумов (о борьбе со злыми духами) на японском, для которых для каждой серии есть аудиодорожка с русским переводом(в отдельной поддиректории)
Есть ли в 2021 году, когда космические корабли бороздят вот это всё, простой способ создать плейлист, чтобы для каждой серии автоматически подключалась аудиодорожка(в единичном случае подключаемая вручную через Аудио->Загрузить из файла)?

★★★★★

Обзови их так же как имена соответствующих видеофайлов и свали с ними в кучу. Плейер будет автоматом их подхватывать.

Jameson ★★★★★
()

В vlc из меню можно внешний файл указать. В mpv можно из командной строки указать или использовать опцию sub-auto=all вместе с sub-file-paths.

kardjoe
()
Ответ на: комментарий от zolden

Ну сорян, с srt и ass у меня работает. Ой, извиняюсь, жопой читал, речь про аудиодорогу же. Возможно она кстати и подхватывается, просто на неё переключиться нужно

Jameson ★★★★★
()
Последнее исправление: Jameson (всего исправлений: 1)

Smplayer в связке с mpv? Если так, то сабы прописываются в конфиге mpv.

man mpv. Там все очень подробно.

Для примера:


sub-auto=fuzzy                          # external subs don't have to match the file name exactly to autoload
sub-file-paths-append=ass               # search for external subs in these relative subdirectories
sub-file-paths-append=Rus
sub-file-paths-append=srt
sub-file-paths-append=sub
sub-file-paths-append=subs
sub-file-paths-append=subtitles

utanho ★★★★★
()
Ответ на: комментарий от Jameson

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

Переключаться вручную конечно же не наш метод... ведь это будет то же самое что «Аудио->Загрузить из файла», чего мне хотелось бы избежать.
Хоть я и использую KDE Connect с телефона и могу это делать не вставая с дивана, но это же совершенно неспортивно

zolden ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Из староверов мы... Записи симпозиумов смотрим по старинке, а не с нетфликсов этих ваших молодёжных...

zolden ★★★★★
() автор топика
Ответ на: комментарий от Jameson

Ньюанс в том, что в контейнере только одна дорога - японская и нужная дорожка прям таки без вариантов внешняя

zolden ★★★★★
() автор топика
Последнее исправление: zolden (всего исправлений: 1)
Ответ на: комментарий от zolden

Track Selection
       --alang=<languagecode[,languagecode,...]>
              Specify  a  priority  list of audio languages to use. Different container formats employ different language codes. DVDs use ISO 639-1 two-letter lan‐
              guage codes, Matroska, MPEG-TS and NUT use ISO 639-2 three-letter language codes, while OGM uses a free-form identifier. See also --aid.

              This is a string list option. See List Options for details.

                 Examples

                 • mpv dvd://1 --alang=hu,en chooses the Hungarian language track on a DVD and falls back on English if Hungarian is not available.

                 • mpv --alang=jpn example.mkv plays a Matroska file with Japanese audio.

       --slang=<languagecode[,languagecode,...]>
              Specify a priority list of subtitle languages to use. Different container formats employ different language codes. DVDs use ISO 639-1 two letter lan‐
              guage codes, Matroska uses ISO 639-2 three letter language codes while OGM uses a free-form identifier. See also --sid.

              This is a string list option. See List Options for details.

                 Examples

                 • mpv dvd://1 --slang=hu,en chooses the Hungarian subtitle track on a DVD and falls back on English if Hungarian is not available.

                 • mpv --slang=jpn example.mkv plays a Matroska file with Japanese subtitles.


utanho ★★★★★
()
Ответ на: комментарий от utanho

Судя по контексту, и по тому, что тут нигде не фигурирует указание пути, опция канает только для субтитров/встроенных аудиодорожек

zolden ★★★★★
() автор топика
Ответ на: комментарий от zolden

Дык укажи в настройках вторую дорогу по умолчанию. Когда плейер её подхватит она будет, а если её нет ни в каком виде будет фаллбэк на единственную.

Jameson ★★★★★
()
Ответ на: комментарий от zolden

Рядом лежащую дорогу с совпадающим именем должен подхватывать как вторую. Другое дело что по умолчанию играть будет первая. Поэтому нужно в настройках указать дефолтом вторую.

Jameson ★★★★★
()
Ответ на: комментарий от zolden

Ух как прорвало тебя, мальчик. Добавлю тебя в игнор на будущее.

kardjoe
()
Ответ на: комментарий от zolden

Даже не тролля не тянете, кмк. Вот так хочешь помочь человеку, а он то ли тупой то ли покакать зашел.

utanho ★★★★★
()

Есть способ, но аж с двумя лютыми костылями.

1. Меняешь расширения видеофалов и аудиодорог с mkv и mka на mp4 и m4a соответственно — для этих форматов SMPlayer умеет автоматически цеплять одноимённые внешние аудиодороги.

2. Чтоб твои аудиодороги не открывались как отдельные файлы, заходишь в SMPlayer, открываешь плейлист, выбираешь «Добавить файл(ы)», и добавляешь только видео, например, включив сортировку файлов по типу. Иначе внешние дороги у тебя попадут в плейлист вместе с видео.

sluggard ★★★★★
()
Ответ на: комментарий от Jameson

Мм...тестовый стенд такой:
В той же директории лежит mka
В Параметры->Языковая дорожка и субтитры выставлено:
Предпочитаемый язык:
Аудио:rus
Субтитры:rus

Либо использовать номер аудиодорожки: 2

Ожидаемый результат: играет русская дорожка из mka
Актуальный результат: играет вшитая дорожка на японском

zolden ★★★★★
() автор топика
Ответ на: комментарий от zolden

Совет выше выглядит рабочим. Видимо smplayer не умеет mka дороги автоматом цеплять.

Jameson ★★★★★
()
Ответ на: комментарий от sluggard

Так и я про то же.
Но раз регистранты выше предложили попробовать, то надо пробовать, мы же не диванные кураретики, а суровые практики

zolden ★★★★★
() автор топика
Ответ на: комментарий от sluggard

не, универсальная она, по крайней мере с сабами внешними именно так работает. Просто mka походу не подцепляется так.

Jameson ★★★★★
()

К слову, говоря лично о себе, я бы не занимался извращённым сексом с плеерами, а взял mkvtoolnix, и пересобрал видеофайлы, запихав дорожки внутрь контейнера. Меньше лишнего в каталогах.

sluggard ★★★★★
()
Ответ на: комментарий от sluggard

Этот спопоб я держал на уме, но как последний.
Всё-таки была надежда в 2 клика разрулить, 2021 всё-таки на дворе.
Ещё раз спасибо за рабочий вариант

zolden ★★★★★
() автор топика
Ответ на: комментарий от Jameson

Разве? А то там прямо в описании написано «если воспроизводимый файл содержит», то есть подразумевается, что дороги внутри контейнера.

sluggard ★★★★★
()
Ответ на: комментарий от sluggard

Ну, видимо это вопрос точности формулировки. Потому что по факту переключает и внешние сабы, которые явно не в контейнере. Дороги видимо тоже, только почему то не mka. Возможно об этом стоит разрабам написать, наверняка просто расширение файла mka не учитывается как потенциальная внешняя дорога.

Jameson ★★★★★
()
Ответ на: комментарий от Jameson

Возможно об этом стоит разрабам написать

У меня есть опыт общения с разработчиком SMPlayer и по моим субъективным, чисто оценочным ощущениям - это ленивый пёс, непонятно чем занятый.
Был другой классный фронтэнд для mpv - bomi, жаль он загнулся и SMPlayer теперь лучший из худших

zolden ★★★★★
() автор топика
Последнее исправление: zolden (всего исправлений: 1)
Ответ на: комментарий от zolden

Возможно пинать нужно разрабов mpv, а не smplayer. Мне лень сейчас воспроизводить кейс и проверять, но думаю автоцеплянием дорог mpv сам по себе занимается, а в smplayer только ручки для настройки этого. По логам всё видно должно быть.

Jameson ★★★★★
()

Вообще я проверил сейчас mpv test.mkv --audio-file=test.mka --aid=2 начинает воспроизведение с внешней звуковой дорожкой (в test.mkv одна аудио дорожка, конечно).

Еще есть радикальный вариант решения проблемы — mkvmerge вшить дорожку в контейнер.

liaonau
()
Ответ на: комментарий от liaonau

По сути, то, что есть в гуе - обёртка над этой опцией.
Но я не смог придумать, как это использовать в 2 клика для целого сезона записей семинаров по борьбе с демонами

zolden ★★★★★
() автор топика
Ответ на: комментарий от utanho

Ок, присылай список хоткеев и скрипты для описанного сценария, посмотрю, как время будет

zolden ★★★★★
() автор топика
Ответ на: комментарий от zolden

Кому и кобыла невеста...

Ну, не буду мешать. Счастья вам с вашей кобылой.

utanho ★★★★★
()
Ответ на: комментарий от zolden

А, вопрос именно в о SMPlayer, понятно. В нем вроде бы можно в конфиге где-то выставить опции, которые будут переданы mpv. В частности

--audio-file-paths=<path1:path2:...>
и
--audio-file-auto=<no|exact|fuzzy|all>
.

Возможно, что этого (и --aid=n) будет достаточно, чтобы подхватило нужную дорожку из отдельной директории.

liaonau
()
Ответ на: комментарий от zolden

Для примера допустим, что видео файл называется xxx.mkv, а дорожка xxx.mka, и лежит дорожка в директории audio. Тогда в ~/.config/mpv/scripts можно кинуть что-то такое

local utils = require('mp.utils')
function namebind(k) return k, "my_scripted_binding_for_"..tostring(k) end
local done = false
function profit()
    if done then return end
    local path = mp.get_property("path", "")
    local dir, filename = utils.split_path(path)
    local audiofile = filename:gsub("%.mkv$", ".mka")
    mp.commandv("audio-add", dir.."/audio/"..audiofile, 'select')
    done = true
end
mp.add_forced_key_binding("u", namebind("u"), function() profit() end)
По хоткею 'u' добавится аудио дорожка, и mpv переключится на нее.

liaonau
()
Ответ на: комментарий от utanho

Ну я так и написал сразу.

Но скриптом гибче. Конфиг глобален и применяется ко всем файлам. Эти настройки не нужны всегда. И скрипт легко допилить чтобы подхватывал имена по маске (например работал только если воспроизводимый файл лежит в …/лекции/…, например) и т.п.

liaonau
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.