You are here

Registrare il canale televisivo RaiNettunoSat (videolezioni Uninettuno)

Si veda l'articolo: UNINETTUNO è un modello di qualità e di democratizzazione del sapere (con videolezioni accessibili a tutti)

Uninettuno trasmette le videolezioni in chiaro su RaiNettunoSat (canale satellitare in chiaro) e su RaiDue, si veda il palinsesto.

Il seguente script Bash (sperimentale) permette di registrarle dal canale satellitare (do per scontato che registrare la TV per uso privato sia pienamente legale, in quanto su tutti i supporti di registrazione oggi in commercio, compresi i computer, viene applicata la tassa SIAE che dà diritto alla copia privata).

Se altre persone vorranno migliorare il codice, farne il porting per altri sistemi operativi o riscriverlo da capo, sarà ben lieto di pubblicare la loro versione, purché la licenza adottata sia GNU/GPL o compatibile ;)

#!/bin/bash

#############################################################################################
#    REGISTRAZIONE DI RAINETTUNOSAT
#    Copyright (C) 2014 Francesco Galgani https://www.informatica-libera.net/
#    version 0.1
#
#    This program is free software: you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation, either version 3 of the License, or
#    (at your option) any later version.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
#############################################################################################

# Script collaudato su Linux Mint 17, presumibilmente compatibile con ogni ambiente Bash su GNU/Linux
# Richiede: zenity, vlc, avconv

# VISUALIZZA PALINSESTO
zenity --question --text="Vuoi aprire il palinsesto di RaiNettunoSat?"
ZENEXIT=$?
if [[ $ZENEXIT == 0 ]]
then
    firefox http://www.uninettunouniversity.net/it/it/orariovideolezionipalinsesti.aspx?idcanaletv=2
fi

# VARIABILI SCELTE DALL'UTENTE
DATE=$(zenity --calendar --text "Seleziona il giorno della registrazione" --title "Giorno" --date-format=%m/%d/%Y)
TIME=$(zenity --entry --text "Indica l'orario di inizio" --entry-text "08:15")
START_TIME="$DATE $TIME" # Inizio della registrazione
MINUTES=$(zenity --entry --text "Quanti minuti deve durare la registrazione?" --entry-text "45")

# GESTIONE PATH (cambia la directory in quella dove è posizionato lo script)
MYDIR=$(dirname $(readlink -f ${BASH_SOURCE[0]}))
SAVEDIR=$(pwd)
cd "$MYDIR"

### SEGUE CODICE DA NON MODIFICARE
UNINETT_SOURCE="mms://212.162.68.163/Rai_Nettuno?auth=daEaBbhcgdPaDaBcTd2bmcga2dgcKaGcadZ-bul9bl-c0-HkywxHo&aifp=V001"
DURATION=$(($MINUTES*60))
FILENAME="UNINETTUNO_`date -d "$START_TIME" +%Y_%m_%d_%H_%M`"
OUTPUT_FILE="$FILENAME.wmv"
OUTPUT_MP4="$FILENAME.mp4"

# Attende l'inizio della registrazione
current_epoch=$(date +%s)
target_epoch=$(date -d "$START_TIME" +%s)
sleep_seconds=$(( $target_epoch - $current_epoch ))
if [ $sleep_seconds -lt 1 ]
  then
  echo "E' stata immessa una data passata"
  exit 0
fi
echo "La registrazione inizierà il giorno `date -d "$START_TIME" +%c` e durerà $MINUTES minuti"
echo "Attendere..."
sleep $sleep_seconds

# Avvia la registrazione con VLC da riga di comanda, specificando un timeout
timeout $DURATION cvlc $UNINETT_SOURCE :demux=dump :demuxdump-file=$OUTPUT_FILE
echo "La registrazione è finita ed è stata salvata nel file:"
echo $OUTPUT_FILE

# Conversione del flusso streaming in MP4
echo "Provvedo alla conversione in MP4":
avconv -i $OUTPUT_FILE -b:a 32k -strict experimental $OUTPUT_MP4
echo "Il file MP4 è stato salvato in:"
echo $OUTPUT_MP4

# Opzionale: cancello il file WMV (disabilitato by default)
# rm -f $OUTPUT_FILE
# echo "Il file $OUTPUT_FILE stato cancellato"

# Messaggio finale per l'utente
zenity --info --text "La registrazione è stata salvata in: $OUTPUT_MP4"

# Ripristino la current directory al valore iniziale
cd "$SAVEDIR"

# W Uninettuno!

Download

Francesco Galgani,
4 ottobre 2014

Classificazione: