Banda Ancha EU

Comunidad de usuarios
de fibra, móvil y ADSL

Automatizar cambio de hora del sistema para enlaces de streaming MPD

BocaDePez
BocaDePez

Los enlaces MPD permiten la reproducción en streaming de emisiones de TDT en reproductores tales como VLC y MPV pero para que la reproducción sea correcta es necesario cambiar la hora del sistema a 1 minuto menos. Según he leído, es algo hecho a propósito para que no sea posible la reproducción fuera de las webs oficiales de los canales de TDT, al menos esto ocurre con las emisoras del grupo A3 Media.

Para no estar cambiando manualmente la hora cada vez que desee ver, por ejemplo, Antena 3, me he creado un sencillo script en bash para automatizar el proceso de cambio.

Para cambiar la hora, una vez se ha deshabilitado la sincronización automática, es restar a la hora proporcionada por el comando date un 1. Por ejemplo "1845 - 1" se quedaría en 1844. El problema es cuando es una hora en punto: "1800 - 1" lógicamente se queda en "1799", y lo deseado sería 1759. ¿Cómo podría solucionarse esta excepción?

Aquí el script:

#!/bin/bash

# Interrumpir la sincronización automática de la hora del sistema:
	sudo systemctl stop systemd-timesyncd.service
# Mostrar la hora y minutos actuales:
	hora_actual=$(date +%H%M)
# Restar una unidad a la hora_actual:
	hora_cambiada=$(echo "$hora_actual - 1" | bc)
# Ajustar la hora del sistema a un minuto menos:
	sudo date +%H%M -s $hora_cambiada
# Comenzar reproducción streaming:
	mpv --title="Antena 3 en DIRECTO" "https://a3m-a3-live-dash.secure.footprint.net/live/nas_live/a3/dash/a3.mpd?begin=&end=&nvb=1595175238&nva=1910708034&hash=00ff29da4e0598b0de8a5b930b5c969d4997f9010"
# Al terminar la reproducción, volver a activar la sincronización automática de la hora del sistema:
	sudo systemctl start systemd-timesyncd.service
BocaDePez
BocaDePez

Muchas gracias, amigo, por su respuesta. Funciona perfectamente.

Y yo que estaba ya pensando en complicarme con bucles tipo if... then...

Un saludo.

🗨️ 2
License2Harm

Y yo que estaba ya pensando en complicarme con bucles tipo if… then…

Imagino que querías decir que estabas considerando una estructura de control de SELECCIÓN if-then. Los bucles son estructuras de control iterativas

🗨️ 1
BocaDePez
BocaDePez

Gracias por su respuesta.

Sí, tiene Ud. razón. Bucles sería, por ejemplo, while true; do [línea_comandos1]; [línea_comandos2] .....; done

Un saludo.

BocaDePez
BocaDePez

¿Por qué no desactivar la actualización de la hora automática y poner 1 minuto menos en la máquina? 🥦

🗨️ 1
BocaDePez
BocaDePez

Gracias por su respuesta.

Siempre es más conveniente tener la hora exacta en el sistema. Solo la desactivo para reproducir lo que arriba he comentado. Y para no estar desactivando, retrasando, activando manualmente, etc., mejor que se haga de forma automática.

Un saludo.

BocaDePez
BocaDePez

VLC en Linux me abre bien ese enlace de mpv sin cambiar la hora

🗨️ 1
BocaDePez
BocaDePez

Gracias por su respuesta.

Sí, y a mí también pero pasados unos minutos pueden producirse cortes y/o congelamientos de la imagen con VLC y cvlc (al menos en mi caso).

Un saludo.