百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

MPV播放器系列(二)-完成课堂笔记(mpv播放器配置)

cac55 2024-10-09 08:17 32 浏览 0 评论

之前我有和大家介绍过YiNote插件和PotPlayer播放器的视频增量功能,这两款应用都能帮助我们更好的应对视频做笔记的需求,但今天的主角不是它们,如果你想先了解下之前的两款应用的使用,你可以时光回溯去看一看,之前的笔记是属于SuperMemo一个系列的,说不定你看完后又会对我们的SuperMemo产生兴趣呢...

简单总结一下就是: 1.PotPlayer能做本地及部分线上课堂的笔记,打开视频地址使用快捷键 H, P即可. 2.使用YiNote浏览器插件小白操作,即可直接上手.再高级点用法场景,则是自己导出最终markdown用jq命令行小工具按不同需求处理下. 啊~,你的 回溯时光机入口在下面这里:

一只小胖子:实践-SuperMemo-本地|在线视频增量(二)3 赞同 · 13 评论文章

好, 那为啥我们要讲解MPV呢, 因为以上两个软件在部分场景上多少还是有点不太另人如意,至少对于我是这样.那能不能自己做一个课堂笔记功能呢? 使用MPV后你真的可以的! 那下面我们基于MPV进行实践吧.

实现的场景为: 当我们在看视频时,按下快捷键Ctrl+B直接复制当前播放时间/播放文件标题/播放文件链接到剪切板,粘贴后按文本或markdown的形式展示出来.具体看下图最终的效果: 拷贝如下图的链接在终端执行,可快速跳转至做笔记的时间处,支持在线及本地视频(注意:线上视频获取文件名可读性不太好,我后期再考虑优化下.)


一. 获取视频信息插件

原文链接如下,把copy-permalink.lua 放置至~/.config/mpv/scripts/copy-permalink.lua 处即可

mpv user script: copy a command that will resume video at current positiongist.github.com/olejorgenb/a5194d9bc183dbe0bfb02aac18fe37f9

下面贴的代码是我自己调整并修改&注释过的,你用我贴上来的就好,lua文件内容如下,请自己保存至~/.config/mpv/scripts/copy-permalink.lua 中,注意最后一行代码的快捷键按你自己的需求修改,确保不要冲突:

-- Author: Ole J?rgen Br?nner (olejorgenb@yahoo.no)-- Requirement: xclip for linux, none for macos-- Installation: -- 'mkdir -p ~/.config/mpv/scripts && cp -i copy-permalink.lua ~/.config/mpv/scripts'
 -- %q might not be fully robust-- 返回当前播放视频的文件名和路径:(支持markdown格式,截图功能建议自己用Snipaste更加灵活)function copyPermalink()
    local pos = mp.get_property_number("time-pos")
    local file_name = mp.get_property('filename')
    local uri = mp.get_property("path")
    -- 1.标准|文本)
    -- local bookmark = string.format("mpv --start=%s %q", pos, uri)
    -- 2.markdown
    -- local bookmark = string.format("```bash %s mpv --start=%s %q %s```", "
", pos, uri, "
")
    local bookmark = string.format("### %s 
```bash 
 mpv --start=%s %q 
```
%s", file_name, pos, uri, "---
文本注释: 

截图如下: (请自己用Snipaste截图吧!)
")
    -- 3.调用剪贴板
    -- https://gist.github.com/olejorgenb/a5194d9bc183dbe0bfb02aac18fe37f9#gistcomment-3622348 windows
    -- local pipe = io.popen("xclip -silent -in -selection clipboard", "w")  -- linux
    local pipe = io.popen("pbcopy", "w") -- macos 不用安装pbcopy/pbpaste,可以直接使用
    -- 4.生成当前时间点截图
    mp.commandv("screenshot")
    pipe:write(bookmark)
    pipe:close()
    mp.osd_message("拷贝至剪切板成功")end-- mp.register_script_message("copy-permalink", copyPermalink)-- 设置快捷键mp.add_key_binding("ctrl+b", "copy-permalink", copyPermalink)

这样用如下命令或直接拖动本地视频或在线视频网页链接至mpv播放器. 打开视频Ctrl+B演示:

mpv "https://www.bilibili.com/video/BV17B4y1A7Fv" # 打开B站mpv "~/super_star.mp4" # 打开本地视频

如下: 粘贴内容至Obsidian或Typora中的展示效果:

另外目录中同时生成了一张图片,我们手动复制粘贴至obsidian或其它笔记软件即可.其实更建议你直接使用Snipaste来截图,更方便灵活.

### BV17B4y1A7Fv ```bash 
 mpv --start=54.843 "https://www.bilibili.com/video/BV17B4y1A7Fv" ```---
文本注释: 

截图如下: (自己用Snipaste截图吧!)

最后:

只要在文本注释截图如下字样后写上内容,以及粘贴截图,(直接使用SniPaste操作就好,这样可以很方便的控制截图区大小以及图片预处理),这样我们就做好了一处笔记啦!

具体使用:

当我们在看视频时,按下快捷键Ctrl+B直接复制当前播放时间/播放文件标题/播放文件链接到剪切板,粘贴后按文本或markdown的形式展示出来. 最后可以拷贝笔记链接上的 mpv --start * 在终端执行,即可快速跳转至做笔记的时间处,支持在线及本地视频(注意:线上视频获取文件名可读性不太好,我后期再考虑优化下.)

二. 批量截图功能插件

1.配置截图插件

我在源代码的基本上添加了注释,并做了部分修改,所以你直接拷贝此处下面代码使用即可,放置在文件: ~/.config/mpv/scripts/takeSsSequence.js,请按自己的情况设置下代码行末的快捷键,避免冲突或导致不生效.

/** 
 * 实现相等时长截图,可指定%5开始,98%结束,共截多少张 * 
 * 源码路径如下 * https://github.com/Arieleg/mpv-takeSsSequence/blob/f1d107660b765fdf80b4996c7a94869b4ddce114/takeSsSequence.js * 
 * (我做了部分修改,所以你直接拷贝此处下面代码使用即可): * 
 * ======配置截图相关参数(mpv.conf):======== * 参考: https://mpv.io/manual/master/#screenshot * * --截图模板,指定文件名称,默认为(mpv-shot%n) * --screenshot-template=mpv-shot%f%P * * --指定保存格式(默认为jpg) * --screenshot-format=jpg *  
 * --截图保存目录(默认在脚本运行目录) * --screenshot-directory=~/mpv-www-gen * 
 */function sleep(){
    var actTime = mp.get_time();
    while (mp.get_time() - actTime < 0.05){
    }}function takeSsS() {

    var N = 12; /**截多少张图 */
    var start = 5; /** 开始: %5的播放进度 */
    var end = 95; /** 结束: %95的播放进度 */
    var step = (end - start)/(N); /**步长 */
    var percent = start;
    var P_NUM = 0 /**截图成功数 */
    while (percent < end) {
        mp.commandv("seek", percent, "absolute-percent");
        sleep();
        mp.commandv("screenshot");          
        percent+=step;
        P_NUM = P_NUM + 1
        mp.osd_message("截图" + P_NUM + "成功")
    }   }/**绑定快捷键Ctrl+Alt+d,避免快捷键冲突: * 
 * mpv播放器系统截图功能: Ctrl+s * SnipPaste : Ctrl+Alt+s * copy-permalink.lua: Ctrl+b * ... */mp.add_key_binding("Ctrl+Alt+d", "takeSsSequence", takeSsS);
2.配置图片保存的目录/格式/名称等

这一步也可忽略,不设置的话会使用mpv默认值,比如保存目录默认为当前脚本执行所在的目录,具体参数和用法,请参考官网文档链接:

mpv.iompv.io/manual/master/#screenshot

## 打开~/.config/mpv/mpv.conf ,在文件末尾添加如下的内容:

############
# 我的配置 #
############

# 配置截图相关参数,参考:https://mpv.io/manual/master/#screenshot

# 截图模板,指定文件名称,默认为(mpv-shot%n)
screenshot-template=mpv-shot-%f-%P

# 指定保存格式(默认为jpg)
# screenshot-format=jpg
  
# 截图保存目录(默认在脚本运行目录)
screenshot-directory=~/mpv-www-gen

具体使用:

如上一步的操作一样,在播放视频时,我们按下自己设置的快捷键,我这里是Ctrl+Alt+d, 来执行批量截图:

最终在mpv-www-gen目录中,我们看到了当前视频每隔一段时间处生成的快照图片,这样我们就可以自己复制图片粘贴至笔记软件中做笔记了:

至此,本文结束...


我是一只热爱学习的小胖子,如果你也热爱学习,并且对SuperMemo感兴趣,欢迎转发和评论!


相关推荐

如何屏蔽色情网站?_怎么能屏蔽网站

一、基础防御:全网DNS劫持阻断1.修改全网DNS服务器推荐DNS:安全DNS:CleanBrowsing(成人内容过滤):185.228.168.168/185.228.169.168Open...

容器、Pod、虚拟机与宿主机网络通信全解:看这一篇就够了

在日常开发与部署过程中,很多人一开始都会有这样的疑惑:容器之间是怎么通信的?容器怎么访问宿主机?宿主机又如何访问容器?Kubernetes中Pod的网络和Docker容器一样吗?容器跨机器是...

Win11专业版找不到共享打印机的问题

有很多深度官网的用户,都是在办公室上班的。而上班就需要使用打印机,但更新win11系统后,却出现同一个办公室里面的打印机都找不到的问题,这该如何处理呢?其实,可能是由于我们并没有打开共享打印机而造成的...

常用电脑快捷键大全,摆脱鼠标依赖,建议收藏

Ctrl+C复制Ctrl+X剪切Ctrl+V粘贴Ctrl+Z撤销Ctrl+Y重做Ctrl+B加粗Ctrl+A全选所有文件Ctrl+S保存Ctrl+N新建Ctrl+O打开Ctrl+E...

Win11实现自动追剧Jellyfin硬解,免NAS复杂操作

大家好,欢迎来到思赞数码。本期将详细介绍如何通过安装和配置Sonarr、Radarr、Prowlarr、qBittorrent和Jellyfin,打造一套自动化的影视管理系统。很多人认为,要实现自动追...

微软Win11安卓子系统WSA 2308.40000.3.0更新推送下载

IT之家9月21日消息,微软官方博客今日宣布,已面向所有WindowsInsider用户推送了Windows11安卓子系统的2308.40000.3.0版本更新。本次更新和之前...

路由器总掉线 一个命令就能猜出八九分

明明网络强度满格或有线图标正常,但视频卡成PPT、网页刷不开、游戏动不了,闲心这些问题很多小伙伴都碰到过。每次都要开关路由、宽带/光猫、插拔网线……一通忙。有没有啥办法能快速确定故障到底在哪儿,方便处...

windows电脑如何修改hosts文件?_windows怎么修改hosts

先来简单说下电脑host的作用hosts文件的作用:hosts文件是一个用于储存计算机网络中各节点信息的计算机文件;作用是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中...

win10广告弹窗ShellExperienceHost.exe

win10右下角老是弹出广告弹窗,排查为以下程序引起,但是这个是系统菜单的程序不能动:C:\Windows\SystemApps\ShellExperienceHost_cw5n1h2txyewy\S...

Win10 Mobile预览版10512/10166越狱解锁部署已被黑客攻破

看起来统一的WindowsPhone和Windows越加吸引人们的关注,特别是黑客们的好奇心。XDA论坛宣称,在Win10Mobile预览版10512/10166上,已取得越狱/解锁部署突破,比如可...

6款冷门小众软件,都是宝藏,建议收藏

真的很不错(。-ω-)zzzBearhttps://bear.app/cn/Bear是一个漂亮,灵活的Markdown的写作工具。它一样只支持苹果家的全平台。它一出现就惊艳四方,就被AppSto...

如何让不符合条件的设备升级Windows 11

如果你是最近(6月24日之后)加入WindowsInsider项目并且你的设备并不符合升级条件,那么当你在尝试升级Windows11的时候可能会看到以下错误:你的PC不符合Wi...

windows host文件怎么恢复?局域网访问全靠这些!

windowshost文件怎么恢复?windowshost文件是常用网址域名及其相应IP地址建立一个关联文件,通过这个host文件配置域名和IP的映射关系,以提高域名解析的速度,方便局域网用户使用...

Mac Hosts管理工具---SwitchHosts

switchhosts!formac是一款帮助用户快速切换hosts文件的工具,switchhosts!formac能够帮助你快速方便的打造个人专用的网络环境,支持本地和在线两种方式,并且支持...

「浅谈趣说网络知识」 第十二弹 老而不死的Hosts,它还很有用

【浅谈趣说网络知识】第十二弹老而不死的Hosts,它还很有用什么时候才觉得自己真的老了,不是35岁以上的数字,不是头上的点点白发,而是不知觉中的怀旧。风口上的IT界讲的就是"长江后浪推前浪...

取消回复欢迎 发表评论: