Crear script para cargar automáticamente m3u en VLC Network (MojaveOS)

Crear script para cargar automáticamente m3u en VLC Network (MojaveOS)

Así que estoy cansado de tener que abrir siempre VLC/Open Network, copiar y pegar mi dirección de red IPTV m3u para cargar.

¿Alguien puede ayudarme (si es posible) a crear un script que abra VLC automáticamente y cargue mi m3u sin tener que copiar y pegar siempre el enlace?

Sé que puedo crear una lista de reproducción simple con mi m3u, pero el problema es que cambian de canal y/o agregan/eliminan canales.

Por lo tanto, sería útil tener un script automático que cargara y siempre cargara una lista actualizada.

Respuesta1

camino gui

vlc http://link.to/playlist.m3u

o pura terminal

nvlc http://link.to/playlist.m3u

Respuesta2

¿Cómo puedo abrir VLC y cargar mi m3u sin tener que copiar y pegar siempre el enlace?

Utilice una de las [stream]opciones de la línea de comando. Si está utilizando Windows, puede cambiar su acceso directo de VLC para incluir opciones de línea de comando adicionales.

Usage: vlc [options] [stream] ...
You can specify multiple streams on the commandline.
They will be enqueued in the playlist.
The first item specified will be played first.

...

Stream MRL syntax:

  [[access][/demux]://]URL[#[title][:chapter][-[title][:chapter]]]
  [:option=value ...]

  Many of the global --options can also be used as MRL specific :options.
  Multiple :option=value pairs can be specified.

URL syntax:
  file:///path/file              Plain media file
  http://host[:port]/file        HTTP URL
  ftp://host[:port]/file         FTP URL
  mms://host[:port]/file         MMS URL
  screen://                      Screen capture
  dvd://[device]                 DVD device
  vcd://[device]                 VCD device
  cdda://[device]                Audio CD device
  udp://[[<source address>]@[<bind address>][:<bind port>]]
                                 UDP stream sent by a streaming server
  vlc://pause:<seconds>          Pause the playlist for a certain time
  vlc://quit                     Special item to quit VLC

FuenteAyuda de línea de comandos de VLC - VideoLAN Wiki

Si puede utilizar scripts de shell, puede utilizar el siguiente script y modificarlo según sus requisitos específicos:

if [[ "$1" == "" ]] ; then
    exit 1
fi

DUMMY=""

# location of playlist
PLAYLIST=/tmp/playlist.m3u

### the playlist is only updated from the Freebox if the playlist file does 
### not exist
###   simply remove the playlist file given by the location $PLAYLIST 
###   to force an update the next time the script is called
if [[ ! -f $PLAYLIST ]] ; then
    RAWPLAYLIST=`mktemp`
    echo "recovering Playlist"
    wget -q http://mafreebox.freebox.fr/freeboxtv/playlist.m3u -O $RAWPLAYLIST
### the following trick is found from:
### http://stackoverflow.com/questions/10207354/how-to-remove-all-of-the-diacritics-from-a-file
### and allows to replace accent characters by non-accent characters
    iconv -f utf8 -t ascii//TRANSLIT $RAWPLAYLIST > $PLAYLIST
    \rm $RAWPLAYLIST
fi

COMMAND="grep -v rtsp $PLAYLIST | grep -v EXTM3U "
for i in $@ ; do
    if [[ $i == "-dummy" ]] ; then
        DUMMY=dummy
    else
        COMMAND=$COMMAND" | grep -i "$i
    fi
done

COMMAND=$COMMAND" | head -1"

FLINE=`mktemp`
eval $COMMAND > $FLINE
LINE=`cat $FLINE`

N=`grep -xn -f $FLINE $PLAYLIST | cut -d : -f 1`

\rm $FLINE

N=$((N + 1))
LINK=`head -n $N $PLAYLIST | tail -1`

if [[ "$LINE" == "" ]] ; then
    echo "No matching channel found"
    exit 1
fi

echo "Opening vlc for: $LINE"
echo $LINK

if [[ "$DUMMY" == "" ]] ; then
    vlc "$LINK" --network-caching=1500 --no-loop
fi

Lo guarda en un lugar de su RUTA (tal vez en su carpeta bin privada: ~/bin/si está en su RUTA), por ejemplo como FB_VIEW.sh, lo hace ejecutable mediante chmod +x FB_VIEW.sh.

Entonces el uso simple es:

FB_VIEW.sh "list of patterns"

para iniciar el primer canal de la lista de reproducción que contiene estos patrones (el orden no es importante entre subpatrones separados por un espacio). La lista de patrones puede contener la palabra "-dummy", en cuyo caso sólo se muestra el canal encontrado y el enlace rtsp, pero en realidad no se inicia vlc. La coincidencia de patrones no distingue entre mayúsculas y minúsculas. También puedes utilizar el número de programa del canal como patrón, pero en el Freebox puedes tener diferentes flujos (Adsl, TNT, HD, estándar, bajo débito) para el mismo número y es posible que tengas que añadir un segundo patrón como HD o TNT para seleccionar el flujo de TV adecuado.

En esta versión, la primera vez que inicie el script, descargará la lista de reproducción de Freebox (usando wget), reemplazará los caracteres acentuados por caracteres no acentuados y la almacenará en la ubicación predeterminada /tmp/playlist.m3u (encontré el truco). por esto ayer). Cuando más tarde desee forzar una actualización de la lista de reproducción, simplemente elimine el archivo existente y la actualización se realizará la próxima vez que se llame al script (esto demora entre 1 y 2 segundos). Tenga en cuenta que Gratis aplica periódicamente ciertos cambios (normalmente modestos) en la lista de reproducción.

Puede modificar fácilmente el nombre/ubicación predeterminada de la lista de reproducción y también eliminar la "parte de actualización" (si no le gusta), en cuyo caso deberá proporcionar la lista de reproducción manualmente en la ubicación adecuada.

Fuente¿¡Reproducir un elemento específico en la lista de reproducción m3u!? - Los foros de VideoLAN


Otras lecturas

información relacionada