¿Cuál es el mejor reproductor de videos y por qué mpv?

2021-04-15

Desde que las computadoras nos permitieron reproducir videos, debemos haber experimentado con una larga lista de reproductores de video. Personalmente, VLC fue amor a primera vista, mi reproductor de videos predilecto por años. Es Software Libre, te reproduce cualquier video, sin importar si tenés los codecs instalados para poder verlo, es multiplataforma, hasta lo pude instalar en mi primer Android (un LG hermoso que corría Android 2.2 y le entraba CyanogenMod como anillo al dedo, pero esa historia es para otro post).

Los últimos años mi atracción se volcó a SMPlayer, un reproductor basado en librerías Qt que ofrece una interfaz gráfica para el poderoso MPlayer. SMPlayer traía algo que me generó adicción: poder decargar los subtítulos sin abandonar la interfaz del reproductor. Además siempre lo sentí más estable que el VLC.

Sin embargo, en este último tiempo apareció en mi vida el que considero el mejor reproductor de videos… (tambores de suspenso) mpv, un reproductor minimalista, que consume muy pocos recursos, con una interfaz super simple donde el protagonista es el video. No tiene menús, pero podés acceder a muchas funcionalidades a través de accesos de teclado. Al igual que SMPlayer, mpv está basado en MPlayer, pero también en FFmpeg, la suite de programas de audio y video que comprime los videos que llegan de Marte. Al ser tan minimalista, mpv está diseñado para poder ser embebido en otras aplicaciones. Por ejemplo, Stremio lo utiliza para poder reproducir los videos que streamea.

Las bondades de mpv no terminan ahí. Este reproductor está pensado para que podamos agregarle funcionalidades a través de scripts, sin necesidad de modificar el código fuente y recompilarlo. Es decir, cualquier usuarie puede escribir (con algo de conocimiento) unas pocas líneas para manipular el reproductor a su antojo. Y si no te sentís capaz de escribir un script vos solx, podés descargar alguno de esta larga lista.

Y por si no fuera poco, mpv nos permite ver videos de YouTube, Vimeo, Peertube, etc. haciendo uso de youtube-dl (agachen sus cabezas ante semejante deidad). Gracias a esta funcionalidad, no solo podemos ver videos que estén colgados en la red sin necesidad de abrir nuestro navegador, sino que también podemos ver streamings de YouTube Live, Twitch y cuanta plataforma se te ocurra. Me saco el sombrero.

Esto abre la puerta a que un hardware no muy poderoso (una netbook con un Atom, por ejemplo) nos reproduzca videos de estas plataformas sin necesidad de cargar una tonelada de JavaScript con nuestro navegador solo para darnos cuenta que a nuestro CPU no le queda nafta para reproducir el video sin perder frames en el camino.

Cómo instalar mpv

mpv está disponible en los repositorios de la mayoría de las distribuciones. En Debian, Ubuntu y derivadas podemos instalarlo con:

sudo apt install mpv

Y en Arch, Manjaro y derivadas:

sudo pacman -S mpv

Podemos abrir un video desde nuestro navegador de archivos y elegir mpv como la aplicación por defecto. O bien podemos abrirlo desde la terminal:

mpv mi-video.mkv

En el manual de mpv podemos hallar una lista de los accesos de teclados que podemos usar. Por ejemplo la f para poner en pantalla completa.

Ahora quiero ver videos online!

Para que podamos disfrutar de cualquier video online desde mpv, primero necesitamos instalar youtube-dl. En muchas distros, youtube-dl es una dependencia (obligatoria u opcional) de mpv y es probable que ya lo tengas instalado. Podemos disfrutar cualquier video de la web ejecutando mpv seguido de la url del mismo, por ejemplo:

mpv https://www.youtube.com/watch?v=WhWc3b3KhnY

Alternativamente, podemos abrir mpv desde nuestro menú de aplicaciones y arrastrar la url del video a la ventana del reproductor.

Es probable que estos pasos no nos funcionen a la primera. Nuestros (ene)amigos de las plataformas no les gusta mucho que podamos ver videos sin pasar por sus páginas web, es por eso que cambiar algunas cositas de vez en cuando para que nuestro youtube-dl deje de funcionar correctamente. Obvio que les desarrolladores de youtube-dl son más rápides y le encuentran la vuelta, pero esto hace necesario que tengamos instalada una versión moderadamente nueva de youtube-dl.

En los sistemas basados en Arch es moneda corriente tener las últimas versiones de los programas, pero el panorama es distinto en Debian y Ubuntu, donde se suele priorizar la estabilidad del sistema por encima de la novedad de los paquetes.

Actualizar youtube-dl en Debian 10

Si estás corriendo Debian stable sabrás que los paquetes que usas no son de lo más nuevos, pero Debian nos suele ofrecer un conjunto de repositorios que nos permiten acceder fácilmente a paquetes casi recién sacados del horno sin comprometer nuestro sistema: los backports.

Para poder acceder a ellos necesitamos agregar los backports a nuestra lista de repositorios. Vamos a editar el archivo /etc/apt/sources.list y agregar las siguiente línea al final:

deb http://deb.debian.org/debian buster-backports main

Luego vamos a actualizar la lista de paquetes:

sudo apt update

Y ahora podemos instalar una de las últimas versiones de youtube-dl, especificandole a apt que queremos descargar la versión en los backports:

sudo apt install -t buster-backports youtube-dl

Para más detalles, podés leer la documentación oficial.

Actualizar youtube-dl en Ubuntu

A diferencia de Debian, Ubuntu no nos ofrece un repositorio con una versión más nueva de youtube-dl, así que vamos a tener que instalarlo de forma manual.

Lo primero que vamos a tener que hacer es desinstalar la versión de youtube-dl que nos instaló mpv. Para eso vamos a correr:

sudo apt remove youtube-dl

Luego vamos a proceder a descargar el último release de youtube-dl e instalarlo de forma manual en /usr/local/bin. Todo este proceso lo podemos ejecutar en una sola línea, solo tenemos que copiar y pegar:

sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl

Finalmente le damos permisos para poder ejecutarlo:

sudo chmod a+rx /usr/local/bin/youtube-dl

Y ya lo tenemos instalado. Si querés ver otras formas de instalarlo, podés leer la documentación de youtube-dl.

Mi maquina no se banca un video en 1080p

Como comenté antes, estas funcionalidades de mpv nos permiten disfrutar de videos en hardware no muy poderoso, pero por defecto mpv descarga el video en la más alta resolución que encuentra arruinándonos todos los planes. Obviamente podemos cambiar esto, diciéndole a youtube-dl que descargue una versión del video en menor resolución. Por ejemplo, si queremos reproducir el video en no más de 480p, podemos ejecutar mpv con la siguiente opción:

mpv --ytdl-format="bestvideo[height<=480]+bestaudio" https://www.youtube.com/watch?v=WhWc3b3KhnY

Como es cantando que no nos vamos a acordar de escribir todo eso cada vez que queremos reproducir un video, podemos agregarlo al archivo de configuración de mpv y nos olvidamos. Además, si hacemos esto vamos a poder ver en 480p aquellos videos que los reproduzcamos arrastrando la url a la ventana de mpv. Para eso vamos a editar el archivo ~/.config/mpv/config. Si no existe, vamos a crearlo y luego agregarle la siguiente línea:

ytdl-format="bestvideo[height<=480]+bestaudio"

Una vez que guardemos el archivo, vamos a poder disfrutar cualquier video de la web en nuestro hardware para nada obsoleto.

Buscar videos de YouTube desde la terminal

De yapa les dejo el enlace a ytfzf, un script que nos permite buscar videos en YouTube desde la terminal y reproducirlos desde mpv sin necesidad de abrir el navegador.

En Arch y derivadas podemos instalarlo desde AUR:

yay -S ytfzf

Mientras que en Debian y Ubuntu lo vamos a descargar a mano e instalar algunas dependencias:

sudo apt install jq fzf
curl -sL "https://raw.githubusercontent.com/pystardust/ytfzf/master/ytfzf" | sudo tee /usr/bin/ytfzf >/dev/null && sudo chmod 755 /usr/bin/ytfzf

Update del 2021-09-25

El compañero ~crazyjane estuvo experimentando con AntiX corriendo en una Asus EEE PC del 2008, siguiendo este tutorial para poder ver vídeos de Twitch.

Durante esa experiencia nos topamos con que la opción "bestvideo[height<=480]+bestaudio" no estaba funcionando. Con la que sí podíamos ver el video en 480 era sencillamente con "best[height<=480]".

En conclusión, si tenés problema con los comandos de este tutorial, probá correr mpv de la siguiente forma:

mpv --ytdl-format="best[height<=480]" https://www.youtube.com/watch?v=WhWc3b3KhnY

O bien, configurá el archivo ~/.config/mpv/config con la siguiente línea:

ytdl-format="best[height<=480]"

Si quieren leer el review que escribió ~crazyjane sobre AntiX corriendo en la Asus EEE PC, pueden encontrarlo en su gopher o bien en la entrada del foro de cybercirujas

Comentarios

Si encontraste algún error, creés que se puede mejorar algo del texto o que vale la pena agregar algo, no dudes en escribirme a santisoler arroba texto-plano.xyz