[新插件] org-media-note 为视频和音频做交互笔记 (新支持在线视频)

如果你是指如何操作,从 org-media-note-hydra/body 这个 hydra 界面按 T

如果你是指如何实现,就是直接调用的mpv的置顶功能

功能详解参见 org-media-note/README_CN.org at master · yuchen-lea/org-media-note

3赞

是org-attach的依赖没有处理好的问题,与这个是一个问题 I get a warning about org-attach-dir · Issue #9 · yuchen-lea/org-media-note, 应该已经解决,您再试试?

1赞

不是啊,您看demo,是在播放时自动插入时间戳链接的。

更多信息请在文档中搜索 org-media-note-insert-link

1赞

更新后 ok, 感谢!

比如我打开一个 learn_emacs.org , 然后 有个 learn_emacs.mp4, 我不知道怎么把这两个联系起来。

是的,按 T 可以将视频置顶。

解决了mpv web streaming的问题之后,发现整合进现有工作流不难,因此……

新功能

支持在线视频,在 hydra menu 用 o o 输入url,就能在mpv打开在线视频啦,之后的操作与本地视频一致。

目前仅测试了bilibili(测试视频 https://www.bilibili.com/video/BV16t411n7vJ ) ,因为从proxychain打开emacs的话,使用mpv socket会有问题。按理来讲,mpv支持的在线平台应该都没问题。

3赞

请在文档中搜索 org-media-note-mpv-smart-play

感谢楼主!这个插件的功能是特别实用的,也是我一直想撸但是没有想到特别合适的入手点的功能。之前我的配置也有类似的功能实现,用的是 emms 或者 vlc-rc,但是功能远没有楼主的这么强大。谢谢分享!

提了一个PR,在文件头中把 mpv 和 pretty-hydra 定义为依赖,这样用 quelpa 安装时就会自动安装这两个包了:

@yuchen-lea

谢谢您!之前不了解这个用法,又学到啦

1赞

用的spacemacs, org-media-note配置为

(use-package org-media-note
    :hook (org-mode .  org-media-note-mode)
    :config
    (spacemacs/set-leader-keys "av" 'org-media-note-hydra/body)
    (setq org-media-note-screenshot-image-dir "~/org-notes/notes/imgs")
    )

打开org 文件后,调用org-media-note-mpv-smart-play 报错 Symbol’s function definition is void: org-media-note-get-media-file-by-key

手动

(require 'org-media-note-setup-org-ref)
(require 'org-attach) ;; org-media-note-core.el中 (declare-function org-attach-dir "org-attach") 好像没起作用

之后再次调用org-media-note-mpv-smart-play报错 Wrong type argument: stringp, nil

似乎是因为 (org-attach-dir) 返回为 nil, 导致(org-media-note--media-files-in-dir attach-dir) 报错Wrong type argument: stringp, nil

修改成这样就没问题了

(defun org-media-note-mpv-smart-play ()
  "Conditionally open media file in mpv.
1. With a single attachment, file, or url: play it in mpv;
2. With multiple attachments, open the attach dir to select;
3. Else, answer y to find local file to open, n to input URL."
  (interactive)
  (let* ((key (org-media-note--current-org-ref-key))
         (media-file-by-key (org-media-note-get-media-file-by-key key))
         (media-url-by-key (org-media-note-get-url-by-key key))
         (attach-dir (if (org-attach-dir)
                         (format "%s/"
                                 (org-attach-dir))))
         )
    (cond
     ((and (org-media-note-ref-cite-p)
           media-file-by-key)
      (mpv-play media-file-by-key))
     ((and (org-media-note-ref-cite-p)
           media-url-by-key)
      (org-media-note--mpv-play-online-video media-url-by-key))
     (attach-dir
      (let* ((media-files-in-attach-dir (org-media-note--media-files-in-dir attach-dir))
             (number-of-media-files (length media-files-in-attach-dir)))
       (if (= 1 number-of-media-files)
          (mpv-play (car media-files-in-attach-dir))
        (mpv-play (read-file-name "File to play: " attach-dir))) ))
     (t
      (if (y-or-n-p "Local media (`n` to enter remote URL)? ")
          (mpv-play (read-file-name "File to play: "))
        (org-media-note-play-online-video))))))

今天学习使用了你开发的插件,感谢。

关于 mpv 打开需要代理的 YouTube 视频,使用类似 clash TUN 模式的代理软件可以正常使用。

hi 您读PDF文稿或其它文稿时有没有这样一套交互笔记流程

楼主有另一个包就是处理pdf的 [新插件] org-noter-plus 提取PDF或EPUB文档的大纲及笔记

谢谢你。我看看 :grinning: