Ich habe es satt, zum Laden immer VLC/Open Network öffnen und meine IPTV-m3u-Netzwerkadresse kopieren und einfügen zu müssen.
Kann mir jemand (falls möglich) helfen, ein Skript zu erstellen, das VLC automatisch öffnet und meine m3u lädt, ohne dass ich den Link jedes Mal kopieren und einfügen muss?
Ich weiß, dass ich mit meinem m3u eine einfache Wiedergabeliste erstellen kann, aber das Problem besteht darin, dass sie entweder die Kanäle ändern und/oder Kanäle hinzufügen/entfernen.
Daher wäre ein automatisches Skript hilfreich, das stets eine aktuelle Liste lädt.
Antwort1
GUI-Weg
vlc http://link.to/playlist.m3u
oder reines Terminal
nvlc http://link.to/playlist.m3u
Antwort2
Wie kann ich VLC öffnen und meine m3u laden, ohne den Link immer kopieren und einfügen zu müssen?
Verwenden Sie eine der [stream]
Befehlszeilenoptionen. Wenn Sie Windows verwenden, können Sie Ihre VLC-Verknüpfung ändern, um zusätzliche Befehlszeilenoptionen einzuschließen.
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
QuelleVLC-Befehlszeilenhilfe – VideoLAN Wiki
Wenn Sie Shell-Skripte verwenden können, können Sie das folgende Skript verwenden und es Ihren spezifischen Anforderungen entsprechend ändern:
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
Sie speichern es an einer Stelle in Ihrem PATH (vielleicht in Ihrem privaten Bin-Ordner:
~/bin/
wenn dieser in Ihrem PATH ist), beispielsweise alsFB_VIEW.sh
, und machen es durch ausführbarchmod +x FB_VIEW.sh
.Dann ist die einfache Verwendung:
FB_VIEW.sh "list of patterns"
um den ersten Kanal in der Wiedergabeliste zu starten, der diese Muster enthält (die Reihenfolge der durch Leerzeichen getrennten Untermuster ist nicht wichtig). Die Musterliste kann das Wort „-dummy“ enthalten, in diesem Fall werden nur der gefundene Kanal und der RTSP-Link angezeigt, VLC wird jedoch nicht gestartet. Die Musterübereinstimmung ist nicht groß-/kleinschreibungsabhängig. Sie können auch die Programmnummer des Kanals als Muster verwenden, aber auf der Freebox haben Sie möglicherweise verschiedene Flüsse (ADSL, TNT, HD, Standard, Bas-Debit) für dieselbe Nummer und müssen möglicherweise ein zweites Muster wie HD oder TNT hinzufügen, um den richtigen TV-Fluss auszuwählen.
In dieser Version lädt das Skript beim ersten Start die Playlist von der Freebox herunter (mit wget), ersetzt die akzentuierten Buchstaben durch Buchstaben ohne Akzent und speichert sie am Standardspeicherort /tmp/playlist.m3u (ich habe gestern den Trick dafür gefunden). Wenn Sie später eine Aktualisierung der Playlist erzwingen möchten, entfernen Sie einfach die vorhandene Datei und die Aktualisierung wird beim nächsten Aufruf des Skripts durchgeführt (das dauert etwa 1-2 Sekunden). Beachten Sie, dass Free regelmäßig bestimmte (normalerweise geringfügige) Änderungen an der Playlist vornimmt.
Sie können den Namen/Standardspeicherort der Wiedergabeliste einfach ändern und auch den „Update-Teil“ entfernen (wenn er Ihnen nicht gefällt). In diesem Fall müssen Sie die Wiedergabeliste manuell am entsprechenden Speicherort bereitstellen.
QuelleBestimmtes Element in der M3U-Wiedergabeliste abspielen!? - Die VideoLAN-Foren