libresociety
(libresociety openworld)
2021 年5 月 13 日 05:04
1
From Introducing Haruna (kde.org) :
Jonathan Riddell<[jr@jriddell.org>
2021/5/6 12:28:26
Just passed the Incubator process is Haruna, a video player. It uses a
bunch of KDE libraries so is a natural fit to move into KDE.
Multimedia / Haruna · GitLab
The project is run by George Florea Bănuș.
Jonathan
源代码托管在 Multimedia / Haruna · GitLab (kde.org) ,基于libmpv
、KF5Kirigami2
和KF5XmlGui
,功能包括:
通过youtube-dl
播放在线视频
用鼠标点击切换播放列表,播放列表覆盖在视频上
自动跳过含有特定单词的章节
可配置的快捷方式和鼠标按钮
通过鼠标中键点击进度条快速跳到下一章
目前它仅以
flatpak 和
AppImage 的形式可用。现在它的源代码托管已经迁移到了KDE,所以未来它或许会使用KDE的CI发布flatpak和AppImage:
https://binary-factory.kde.org/
libresociety:
自动跳过含有特定单词的章节
这是什么黑科技?
单词是在文件名还是字幕或音视频中?
这用不好就细思恐极啊。
libresociety
(libresociety openworld)
2021 年5 月 13 日 05:30
3
原文如此:
Features
these are just some features that set Haruna apart from others players
play online videos, through youtube-dl
toggle playlist with mouse-over, playlist overlays the video
auto skip chapter containing certain words
configurable shortcuts and mouse buttons
quick jump to next chapter by middle click on progress bar
相关功能的帮助说:
Skip chapters
When enabled it automatically skips chapters containing certain words/characters.
The words/characters to skip are defined as a comma separated string.
The match is not exact, meaning op will match words containing it like opening .
这个功能具体是什么情况还要进行研究……
onChapterChanged: {
if (!PlaybackSettings.skipChapters) {
return
}
const chapters = mpv.getProperty("chapter-list")
const chaptersToSkip = PlaybackSettings.chaptersToSkip
if (chapters.length === 0 || chaptersToSkip === "") {
return
}
const words = chaptersToSkip.split(",")
for (let i = 0; i < words.length; ++i) {
if (chapters[mpv.chapter] && chapters[mpv.chapter].title.toLowerCase().includes(words[i].trim())) {
actions.seekNextChapterAction.trigger()
if (PlaybackSettings.showOsdOnSkipChapters) {
osd.message(i18n("Skipped chapter: %1").arg(chapters[mpv.chapter-1].title))
}
// a chapter title can match multiple words
// return to prevent skipping multiple chapters
return
}
}
}
我研究了源代码,该功能应当匹配的是视频章节的标题中的字母或单词(设置中给出的例子也是op,ed,chapter 1)。
1 个赞
在什么场景下会有这个需求?
跳过不带特定单词的文件,或者自动选择带特定单词的文件的需求我倒是有。
libresociety
(libresociety openworld)
2021 年5 月 13 日 07:15
5
此功能可能适用于以下用例:
fansub 将其作品作为 mkv 容器格式文件分发,并将文件内容分为 op,main,ed 三个章节。部分用户可能只想观看 main 章节而跳过 op 和 ed 章节。
现在考虑 fansub 不是分别分发每一集而是将一季或一年的内容作为一个 mkv 容器文件分发,这样该文件将具有数量非常可观的章节数,如果播放器不能自动跳过部分章节,用户就必须手动跳过他们不想观看的章节,在这个例子中,他们将要手动跳过大量的章节,这会很麻烦。
问题在于,该功能针对的是章节名,而非文件名,这两者是不相同的东西。一个视频文件只会具有一个文件名,但是它可能具有多个章节名。该功能谈论的是在播放视频文件时自动跳过某些章节。
参考
https://www.matroska.org/technical/chapters.html
今天在 debian 里安装了这个播放器,感觉还不错,等用一段时间后如果没问题就准备替换现有的 smplayer 了,后者在 wayland 下不能正常播放视频。
同意。smplayer不能在wayland下正常播放视频,Celluloid界面过于简陋,很多操作都要使用快捷键,而vlc迟迟不发布4.0版本,与ffmpeg5.0不匹配导致VA-API无法工作,这各播放器现在看起来似乎是最好的一个选择了。