aboutsummaryrefslogtreecommitdiff
path: root/microposts/emms.org
blob: 34cd55122912cf2554cb55fcd09826761bd12c94 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#+title: EMMS and MPV
#+date: <2022-01-27>

[[https://www.gnu.org/software/emms/][EMMS]] is a multimedia playlist management tool on emacs.  It allows
users to control the playback of audio, video and even images by
interacting with external players like mpv and vlc using IPC.

I've been using EMMS exclusively with mpv, and the separation of media
playlist management and playback, as well as moving playlist
management to a purely plaintext environment make perfect sense.

What is a playlist, but a list of urls?  As a simple experiment, you
can write a working m3u file by hand, with each line the raw path to a
media file.  It will load in EMMS, neat.

What's also neat is mpv, a media player able to handle any kind of url
you throw at it.  Local files?  Of course.  Remote file urls over
https?  Yup.  SFTP?  You don't even need to sshfs mount, just do =mpv
sftp://host:port/path/to/media.file=.  How about Libreplanet videos?
It will work, through youtube-dl extractors, just do =mpv
https://media.libreplanet.org/u/libreplanet/m/fsf-award-ceremony/=.
By the way, there's no mediagoblin extractor, but youtube-dl could
find the media file using its rather versitile generic extractor.

You can also create a playlist based on a youtube channel or playlist,
with the help of some elisp plumbing calling =youtube-dl -j
<playlist-or-channel-url> | jq '.webpage_url'= and add the urls to a
playlist.  If you want, you can even bind a key to download a remote
media piece you like!