emacs.tv aggregates videos related to our favorite text editor GNU Emacs.
This project was born out of a collaboration between Sacha Chua and Alvaro Ramirez.
Watch videos on web - emacs.tv
emacs.tv enables browsing, searching, and viewing random videos from your browser (requires JavaScript).
Watch videos on Emacs - emacstv.el
Alternatively, you can access video content directly from Emacs itself. If you have the MPV media player and the mpv.el package (available on MELPA and NonGNU ELPA), you can install emacstv.el
from this repo:
(use-package emacstv
:vc (:url "https://github.com/emacstv/emacstv.github.io"))
If you use Elpaca, try this one:
(use-package emacstv
:ensure (:host github :repo "emacstv/emacstv.github.io" :files (:defaults "*.org")))
;; Turn off warning about following a symbolic link to a git-controlled file
(setq vc-follow-symlinks t)
Then use:
M-x emacstv-background-mode
: play one video after another until you disable it by callingM-x emacstv-background-mode
again. You can use>
to go to the next video in the shuffled playlist or<
in the MPV window to go to the previous one, or use the commandsmpv-playlist-next
andmpv-playlist-prev
in Emacs.M-x emacstv-play
: select a video by typing in part of its title or speakersM-x emacstv-play-random
: play a random videoM-x emacstv-jump-to-current-video
: jump to the entry for the current video.M-x mpv-pause
: pause or play the videoM-x mpv-volume-decrease
andmpv-volume-increase
to manage the volume.
You can search for videos with M-x emacstv-agenda-search
. If you have org-ql, you can use M-x emacstv-org-ql-search
.
You can play the video at the current line with M-x emacstv-play-at-point
.
To watch YouTube videos with subtitles, you may want to add something like this to your mpv.conf (~~/.config/mpv/mpv.conf~ on my system):
ytdl-raw-options='ignore-config=,sub-langs="en,en-US",write-subs=,write-auto-subs=' sub-auto=fuzzy slang=en,eng,enUS,en-US
If you don’t want the video window to be resized for each window, you can try something like this in your mpv.conf
:
force-window force-window-position no-keepaspect-window geometry=50%x50%-0-0
Help keep emacs.tv
fresh and interesting by submitting new videos.
You can e-mail [email protected] with a link to the video, or you can add videos by following these steps:
- Fork this repository.
- Add a new entry to videos.org. Be sure to add as many of the fields provided as possible and please include tags. You can either follow the example below or use
M-x emacstv-add-from-youtube
helper from emacstv.el.
For example:
* EmacsConf.org: How we use Org Mode and TRAMP to organize and run a multi-track conference :emacsconf:emacsconf2023:org:tramp:
:PROPERTIES:
:DATE: 2023-12-03
:URL: https://emacsconf.org/2023/talks/emacsconf
:MEDIA_URL: https://media.emacsconf.org/2023/emacsconf-2023-emacsconf--emacsconforg-how-we-use-org-mode-and-tramp-to-organize-and-run-a-multitrack-conference--sacha-chua--main.webm
:YOUTUBE_URL: https://www.youtube.com/watch?v=uTregv3rNl0
:TOOBNIX_URL: https://toobnix.org/w/eX2dXG3xMtUHuuBz4fssGT
:TRANSCRIPT_URL: https://media.emacsconf.org/2023/emacsconf-2023-emacsconf--emacsconforg-how-we-use-org-mode-and-tramp-to-organize-and-run-a-multitrack-conference--sacha-chua--main.vtt
:SPEAKERS: Sacha Chua
:SERIES: EmacsConf 2023
:END:
- Submit a pull request.
Right now my workflow for adding videos from a
YouTube playlist or from Vimeo search results use
Spookfox, since that lets me work with pages that
require Javascript. Once Spookfox has connected to
Firefox and I’m looking at the right page in the
current tab, I use
emacstv-insert-org-list-from-spookfox
to make an
Org list for quick review/deletion. Then I select
a region and use emacstv-add-from-org
to add the
videos from that list, add tags if I have time,
and then emacstv-build
to sort the entries and
build the data feeds.
Many videos could really do with more tags and additional metadata. Please help us by submitting pull requests with metadata improvements.
You can search for videos with M-x emacstv-agenda-search
.
If you have org-ql, you can use M-x
emacstv-org-ql-search
. For example, you can
search for (and (heading "python") (not (tags
"python")))
to find videos that have “python” in
the heading but not the tags.
Mark items with m
, unmark them with u
, and add or remove tags from marked items with B +
and B -
.
You can play the video at the current line with M-x emacstv-play-at-point
.