HOWTO: Wie bekomme ich die Inhaltsangabe von Playlisten in einer Textdatei um in EXCEL, VLC, als Playlist-Liste für-oder mit anderen Programmen weiterverarbeitet werden zu können?
Sept. 24, 2023, 12:20:27 PUBLIC (einige ID-URLs unvollständig)
Mit Linux ausprobiert..mit W$ müsste es auch oder so ähnlich gehen.
Mit den Programmen:
-yt-dlp (Fork von youtube-dl*)
-VLC media player 3.0.18
-mpv (oder)
-Einige nette Grundbefehle von Linux (auch für W$ erhältlich)
-cat
-echo
-tee
-tr
-sed
..usw..
<*Stand 19.09.23 v0.2>
Gegeben ist (exemplarisch):
SCR=Sounds Corona Radio
SPS=Sounds Pls
YT=YouTube
8<=Schnitt
-YT-URL von SCR Sounds Corona Radio:
https://www.youtube.com/playlist?list=PLdGAD8<
-YT-URL von SPS Sounds Pls:
https://www.youtube.com/playlist?list=PL2Guq8<
Also wäre die ID von Sounds Corona Radio = PLdGAD8< ; (= YOURPLAYLISTURLHERE)
Andere ID ist eine andre Playlist..Logisch..
Mit dem Programm **yt-dlp** (http://ytdl-org.github.io/youtube-dl/) funktioniert es eine Inhaltsliste zu generieren.
Hat auch viele andere Möglichkeiten.
Dort auch für M$Win erhältlich.
Grundbefehl:
yt-dlp --get-id --get-title YOURPLAYLISTURLHERE -i #VORSICHT ohne --get-id lädt es die komplette (SCR-)Playlist runter (mit Videos)!
besser ist dieses:
$ yt-dlp -x -g -e YOURPLAYLISTURLHERE -i
-x, --extract-audio (nur Audio und das wollen wir haben!)
-g, --get-url
-e, --get-title
-i, --ignore-errors
Eingabe im Terminal oder CMD.exe:
$ yt-dlp -x -g -e https://www.youtube.com/playlist?list=PLdGAD8< -i
Ausgabe in einer Textdatei abfangen:
yt-dlp -x -g -e https://www.youtube.com/playlist?list=PLdGAD8< -i > SCR-PL.txt
oder:
yt-dlp -x -g -e https://www.youtube.com/playlist?list=<playlist id> | tee file.txt #Dann kann man mitlesen..
Ausgabe mit Titel und ID in einer Textdatei abfangen:
yt-dlp -x -g -e https://www.youtube.com/playlist?list=PLdGAD8< -i > SCR-PL.txt
Das kann eine Weile dauern....
Oder mit Ausgabe auf Bildschirm und Datei:
yt-dlp -x -g -e https://www.youtube.com/playlist?list=PL2Guq8< -i | tee SPS-PL.txt
Oder:
m3u:https://wiki.videolan.org/M3U/ (simple Liste von URLs als txt)
M3U files are a type of playlist where the location of each item on the playlist is placed on a new line.
Lines starting with a # are comments.
For example,
# This is a comment
/music/opeth/white cluster.mp3
/music/moonlapse vertigo.mp3
http://ccmixter.org/a/song.mp3
/video/mononoke.avi
M3U Extended Format:
#EXTM3U
#EXTINF:-1,The Rolling Stones - Angry (Official Video)
https://rr5---sn-4g5ednsl 8<
#EXTINF:-1,Are 'Friends' Electric?
https://rr2---sn-4g5edn6y 8<
:-1, = :n,Zahl ist Laufzeit in Sekunden, -1 ist Wert ignorieren
1. yt-dlp -x -g https://www.youtube.com/playlist?list=PL2Guq8< -i | tee SPSg-PL.m3u
yt-dlp -x -g https://www.youtube.com/playlist?list=PLdGAD8< -i | tee SCRg-PL.m3u
2. yt-dlp -x -e https://www.youtube.com/playlist?list=PL2Guq8< -i | tee SPSe-PL.txt
yt-dlp -x -e https://www.youtube.com/playlist?list=PLdGAD8< -i | tee SCRe-PL.txt
Um zwei Dateien zu erhalten, die erste mit den URLs, die zweite mit den Titeln.
Auch das kann eine Weile dauern....
Btw. Dabei kann es zu Fehler kommen..
WARNING: unable to download video info webpage: HTTP Error 410: Gone
ERROR: Sign in to confirm your age
This video may be inappropriate for some users.
Auch Funktions und Übertragungsfehler von YT kommen vor...
Ignorieren oder tiefere massnahmen bei youtube.dl ergreifen...siehe Manpage..
Dann zB.
Mit VLC oder Web-Browser eine URL aus SCR-PL.txt abspielen:
https://www.youtube.com/watch?v=YOUR-FAV-ID-HERE
ZB: https://www.youtube.com/watch?v=tdT8<
::VLC media player 3.0.18::
VLC kann SPSg-PL.m3u direkt als Wiedergabeliste abspielen, allerdings ohne Titel Anzeige.
oder:
-Im Xterm:
cvlc SPSg-PL.m3u
bzw..
cvlc SPSg-PL.m3u
Oder:
SCR-PL.txt in SCR-PL.csv umbenennen, mit EXCEL oder andere Tabellenkalulation öffnen.
-Ggf. Zählen, Suchen, Sortieren ..usw
Viel Spass....
TODO:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-----------Bastelecke-und-Spielwiese--(unausgegorener Kram)---------------------
-.PLS erstellen:
see: https://wiki.videolan.org/PLS/
Format:
[playlist]
NumberOfEntries=4
File1=/fs/My Music/Eloy/02 Journey into 1358.mp3
File2=http://some.website.com/music.mp3
File3=//NETWORKCOMPUTER/Videoclips/A12345.mp4
Title3=A Short Videoclip
File4=''any url to file''
Nachbearbeitung von SCR-PL.txt:
SCR-PL.txt in Zeilen statt in einer Spalte
cat $FILE | tr '\n' '; ' > $NEWFILE
oder..
cat $FILE | tr '\n' '; ' > $NEWFILE ; echo >> $NEWFILE
also:
cat SCR-PL.txt | tr '\n' '; ' > SCR-PL1.txt
Zeilen-Nummerieren:
cat -n SCR-PL.txt > SCR-PL-N.txt
Macht aus je 2 Zeilen je 2 Spalten und kopiert dann diese Datei von .txt in .csv um.
sed 'N;s/\n/;/g' SCR-PL.txt | tee SCR-PL.csv #SCR-PL.csv ist eine transponierte Kopie von SCR-PL.txt
********************Noch besser*******************************************************************************************************
Etwas komfortabler mit Header Zeilen...
echo "NAME in Sounds Corona Radio (SCR)" > SCR-PLc.txt && echo "https://www.youtube.com/watch?v=ID" >> SCR-PLc.txt && yt-dlp --get-title -g -e https://www.youtube.com/playlist?list=PLdGAD8< -i >> SCR-PLc.txt
Erklärung:
-1 Tabellenkopf bilden..
echo "NAME in Sounds Corona Radio (SCR)" > SCR-PLc.txt && echo "https://www.youtube.com/watch?v=ID" >> SCR-PLc.txt
"&&" klebt die Einzelbefehle zusammen. ">" schreibt in Datei. ">>" hängt etwas an bestehende Datei an.
-2 wie gehabt..
yt-dlp -g -e https://www.youtube.com/playlist?list=PLdGAD8< -i >> SCR-PLc.txt
-danach:
sed 'N;s/\n/;/g' SCR-PLc.txt | tee SCR-PLc.csv
Erklärung:
-1 etwas Zauberei mit sed = streameditor
sed 'N;s/\n/;/g' SCR-PLc.txt
-2 mit einer Pipe "|" werden die Daten an tee zum schreiben in einer neuen Datei übergeben.
| tee SCR-PLc.csv
Thats it..
Zur Weiterverarbeitung in einer Tabellenkalkulation....Viel Spass...
CU Mark de Leeuw