LINUX.ORG.RU

mpv SponsorBlock - offline chapterskip

 ,


2

1

Преамбула:

  • yt-dlp может вставлять данные из SponsorBlock как чаптеры.

  • Для mpv есть шкрипты, которые могут пропускать главы, но они для этого ломятся смотреть в API SB - мне такое не интересно.

  • Есть шкрипты типа chapterskip - но там нужно самому запиливать обработку SB. Ну я взял тот, что сделан попроще, и на его основе запилил.

Лень заливать в репу, проще результат на лоре запостить. Каждый тип блоков SB можно отдельно за-раскомментировать.

Содержимое блока кода сохранить в .lua файл и покласть в ~/.config/mpv/scripts

require 'mp.options'
local opt = {
	patterns = {
		"OP","[Oo]pening$", "^[Oo]pening:", "[Oo]pening [Cc]redits",
		"ED","[Ee]nding$", "^[Ee]nding:", "[Ee]nding [Cc]redits",
		"[Pp]review$"
	},
	sb_patterns = {
	" Sponsor",
	"Self Promotion",
	"Endcards",
--	"Filler Tangent",
--	"Highlight",
	"Interaction Reminder",
--	"Intermission",
--	"Non-Music Section",
--	"Recap"
	}
}
read_options(opt)

function check_chapter(_, chapter)
	if not chapter then
		return
	end

	if string.match(chapter, "%[SponsorBlock%]") then
		print("Found sponsorblock chapter:", chapter)
		for _, p in pairs(opt.sb_patterns) do
			if string.match(chapter, p) then
				print("Skipping chapter:", chapter)
				mp.command("no-osd add chapter 1")
				return
			end
		end
	end

	for _, p in pairs(opt.patterns) do
		if string.match(chapter, p) then
			print("Skipping chapter:", chapter)
			mp.command("no-osd add chapter 1")
			return
		end
	end
end

mp.observe_property("chapter-metadata/by-key/title", "string", check_chapter)

Я никогда ничего сложнее приветмира на луа не писал, если что.

★★★★★
Ответ на: комментарий от unDEFER

Я так понимаю это для yt-dlp обвес чтобы пропускать рекламу в видео. Не такую как когда врезается отдельно от самого тубика в ролик, а когда сам автор ртом что-то рекламирует.

Народ отмечает таймштампами где он это дело начинает и где, собственно, заканчивает. А скриптами можно автоматизировать ампутацию этого всего при просмотре через mpv\скачивании.

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