feat(ytdl-mpv)!: add initial support to track chapters #29
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
browse chapter list and jump to a particular one
breaking changes:
jq
andiconv
Description
A few part (sadly) of yt videos uploaded, usually long
video, are uploaded with chapters ... What does it
mean? That the video contains its list of chapters, so the
real number of tracks that the video id it contains
yt-dlp
is able to fetch these metadata andmpv
too,the ability to browse this kind of content during playback,
gives a tremendous degree of freedom, especially when a track
longs about 2/3h. Adding the possibility to:
respecting the internal chapters of a track if available
This initial support was possible adding
jq
as require deps, that also has permited to:
mpvctl
yt-dlp
search query filteringinjected in sqlite3 cache db (with double quotes correctly escaped!)
An additional dependency that I decide to add was
iconv
Reason: stupid unicode chars contained sometimes in the titles
It try to translit between utf8 encoding to ascii easily
An additional misc change addded was:
to respect
$XDG_RUNTIME_DIR
env if is setto place
mpv
socket andyt-dlp
queries in it,instead cache and db remain in
$HOME
to ensure persistence