422658476 / MPV-EASY-Player

MPV-EASY Player - An easy to use, modern video player based on mpv (一个基于MPV,易于使用,现代化的视频播放器)
http://www.rjno1.com/mpv-easy-player/
GNU General Public License v3.0
1.06k stars 56 forks source link

跳转时间轴功能 #26

Closed coreur closed 3 years ago

coreur commented 3 years ago

注册自定义 URL mpv://xxxxxxxxxxx, 实现跳转到视频指定时间的功能

具体讨论见 mpv播放器如何能实现跳转时间轴功能

目前已经有成熟的解决方案 mpv-handler - github, 希望 MPV-EASY-Player 也能添加该功能

422658476 commented 3 years ago

MPV-EASY Player是设计目标一直是本地播放器, 它不会支持网址链接视频的播放,除非你把这个网址链接填写到播放列表文件中。 我不清楚为什么要添加这种功能,除了调试加载网页视频的人,普通用户根本用不到。 它不会支持biliili中那种填写一个时间,点击之后跳转到指定时间点的功能,对于一款本地播放器没有这个必要,如果你要从上次播放位置播放,启用播放历史功能。如果想要跳过片头,那么使用设置中的跳过片头功能,这个功能也是使用start跳转时间的。 或者你也可以自己尝试制作一个mpv的lua脚本来实现这个功能,MPV-EASY Player完全兼容mpv的脚本功能。

如果你想要每次播放指定文件都从某个指定的时间点开始,那么可以尝试下面这种更加简单的操作。

比如播放 F:\电影\xxxxx.mkv 每次自动从55秒开始

首先打开mpv-easy player\data\mpv-easy-data\rjno1.conf 在[ini-rjno1]中添加一个额外设置(请勿添加到[ini-rjno1-playlist]下方) use-filedir-conf=yes

文件管理器打开到【F:\电影】路径下 创建一个 xxxxx.mkv.conf 文件 打开F:\电影\xxxxx.mkv.conf 输入start=+00:+55,保存。 运行xxxxx.mkv会自动从55秒开始

其他视频一样,只需要创建【视频文件名相同.后缀名相同.conf】文件存放在同一路径下即可。打开时跳转到某个指定时间点只需要修改conf文件中start=的值即可,你也可以添加其他额外的设置,从而提供跳过片尾,播放时长等功能。

coreur commented 3 years ago

举个例子吧,本地有个学习视频 D:\videos\xxx.mp4,一边看这个视频一边用 markdown 做笔记,在 00:12:45 时间处视频提到某个关键信息,我在此时间点记下笔记 此处为笔记内容 [****](mpv://D:/videos/xxx.mp4_00:12:45),日后回顾笔记的时候点击该处链接能自动用 mpv 打开视频并跳转到指定时间点。

我不清楚好不好实现,下面这个链接仅供参考 Ref: How do I register a custom URL protocol in Windows?

422658476 commented 3 years ago

试了几个小时,终于直到你要做什么事情了. 这种东西不属于本地播放器的功能,不会添加这种功能. 从头到尾都是浏览器链接,一个链接里面包含了本地文件的路径,还要传递命令行参数,没有说明文档根本没人知道这个链接怎么制作.这是播放器播放只有自己能识别的网络视频链接使用的东西.

markdown里面如果要播放指定时间点: "G:\mpv-easy player\MPV-EASY Player.exe" "--start=+00:+55" "F:\电影\xxxxx.flv" 需要播放时复制这段文本到cmd中就能播放,对于MPV-EASY Player(下个版本,这个版本只有原生gui支持)和mpv都行.其他播放器使用类似格式也行.

如果你自己要实现这种网址链接,请按下方这种方式修改: 制作一个注册表:


Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\mpv-easy] "URL Protocol"="" @="URL:mpv-easy Protocol"

[HKEY_CLASSES_ROOT\mpv-easy\DefaultIcon] @="\"G:\绿色软件\mpv-easy player\MPV-EASY Player.exe,0\""

[HKEY_CLASSES_ROOT\mpv-easy\shell]

[HKEY_CLASSES_ROOT\mpv-easy\shell\open]

[HKEY_CLASSES_ROOT\mpv-easy\shell\open\command] @="\"G:\绿色软件\mpv-easy player\MPV-EASY Player.exe\" \"%1\""


把其中MPV-EASY Player.exe的路径改为一个bat文件所在的路径,你自己可以在这个批处理文件中获得这个链接,并把它分割和调整为mpv类播放器能够识别的格式,最后调用播放器或者cmd播放即可,所有格式都由你自己定义.

如果你不会,请使用下面这种方式

新建文本文件,改名为 ***.cmd 使用文本编辑器打开它,输入下面三行并保存,记住文本一定要用ansi编码格式,(如果cmd运行需要管理员权限请关闭系统uac)


@Echo off start "" "G:\mpv-easy player\MPV-EASY Player.exe" "--start=+00:+55" "F:\电影\xxx.flv" exit


***.cmd直接托放进markdown的编辑器区域,点击就可以播放。

你可以创建多个cmd文件并修改名字和内容来达到你要的效果

coreur commented 3 years ago

谢谢解答,我再鼓捣鼓捣