Jump to content

Erstellung von .cue-Files bei (Internet)-Radioaufnahmen


Nick1000

Recommended Posts

Moin,

 

vielen Dank für die tollen Programme. Ich benutze insbesondere den Media Server regelmäßig zur Aufzeichnung.

Es gibt noch eine Sache die mir fehlt, welche der alte Streamripper für Winamp damals konnte: Die Erstellung von .cue-Files aus den gelieferten ID3-Tags des Radios. Die helfen mir sehr beim Cutten von stundenlangen Mitschnitten damit ich direkt weiß wann z.B. eine Konzertaufnahme beginnt.

 

Wäre sowas möglich zu basteln?

Link to comment
vor 15 Stunden schrieb Nick1000:

Es gibt noch eine Sache die mir fehlt, welche der alte Streamripper für Winamp damals konnte: Die Erstellung von .cue-Files aus den gelieferten ID3-Tags des Radios.

 

ID3-Tags gibt es nur bei Dateien, nicht bei Live-Streams. Du meinst wahrscheinlich Shoutcast-Metadaten. Der DVBViewer setzt sie intern notdürftig in EPG-Daten um, damit sie sich wie DVB-Daten verarbeiten lassen. Dabei improvisiert er etwas, weil er keine Infos hat, wie lange die Stücke dauern bzw. wann was als nächstes kommt.

 

Das EPG-Fenster des DVBViewers protokolliert also die eintreffenden Shoutcast-Daten. Außerdem erscheinen sie im EPGLogger Plugin, das ich vor vielen Jahren geschrieben habe. Probiere mal, ob es das liefert, was du brauchst, und für deinen Zweck ausreichend zuverlässig funktioniert.

 

Ich habe das Plugin gerade probehalber bei "ROCK ANTENNE Rock 'n' Roll" mitlaufen lassen und festgestellt, dass es dabei gelegentlich einen gespielten Titel ausgelassen hat - offenbar immer dann, wenn der Sender zusätzlich Eigenwerbung oder seine Internetadresse überträgt. Gelegentlich muss ich mal überprüfen, woran das liegt.

 

Link to comment

Danke Dir Griga, ja um diese Daten geht es. Habe das Plugin auch probiert und dabei ähnliches festgestellt bei Eigenwerbung (ich nehme gerade 'One World Radio' auf, da wird das Tomorrowland Winter Festival übertragen). Als ich dieses Problem festgestellt hatte, haben sich die Shoutcast-Daten sehr schnell hintereinander geändert, ob es daran liegt?

 

Ideal wäre es dann, wenn dies in den Recording Service eingearbeitet werden könnte, so dass das Logging dann mit Aufnahme startet, damit die cue-Files ungefähr passend sind. Zum Schneiden benutze ich MP3DirectCut, welches prima mit .cue-Files umgehen kann.

Link to comment
vor 7 Stunden schrieb Nick1000:

Habe das Plugin auch probiert und dabei ähnliches festgestellt bei Eigenwerbung (ich nehme gerade 'One World Radio' auf, da wird das Tomorrowland Winter Festival übertragen). Als ich dieses Problem festgestellt hatte, haben sich die Shoutcast-Daten sehr schnell hintereinander geändert, ob es daran liegt?

 

Vermutlich. Die EPG-Verwaltung kann offenbar nicht mit sehr kurze Einträgen umgehen, die nur wenige Sekunden dauern. Sowas kommt bei DVB nicht vor. Die Zeiten werden deshalb auf Minuten gerundet.

 

vor 7 Stunden schrieb Nick1000:

Ideal wäre es dann, wenn dies in den Recording Service eingearbeitet werden könnte

 

Vorhin im Code nachgeschaut: Im Media Server hätte eine Implementation die besten Chancen, weil der ohnehin den Now/Next-EPG in Aufnahme-Logs schreibt (siehe Media Server-Optionen -> Aufnahmen -> Log-Datei schreiben), so dass man hinterher sehen kann, was tatsächlich wann während der Aufnahmezeit gelaufen ist. Das gilt bislang allerdings nur für Timeraufnahmen, die über den EPG programmiert wurden, so dass die Event ID der aufzunehmenden Sendung bekannt ist. Das ist mit Internetradio so nicht möglich. Aber der grundlegende Mechanismus ist vorhanden.

 

vor 7 Stunden schrieb Nick1000:

Zum Schneiden benutze ich MP3DirectCut, welches prima mit .cue-Files umgehen kann.

 

Ein Format, das sich weiter verarbeiten lässt, hätte gewisse Vorteile gegenüber einem Aufnahme-Log in einem individuellen Format. Entsprechen deine Cue Sheets dem auf Wikipedia als Beispiel angegebenen Format?

 

https://en.wikipedia.org/wiki/Cue_sheet_(computing)#Examples

 

Oder kannst du hier ein Beispiel als Datei anhängen?

 

Link to comment
Am 21.3.2024 um 20:46 schrieb Griga:

Die EPG-Verwaltung kann offenbar nicht mit sehr kurze Einträgen umgehen, die nur wenige Sekunden dauern. Sowas kommt bei DVB nicht vor. Die Zeiten werden deshalb auf Minuten gerundet.

 

Wie ich inzwischen festgestellt habe, ist davon nicht nur das EPGLogger-Plugin betroffen, sondern auch an einigen (nicht allen) Stellen die Anzeige im DVBViewer, was gerade in einem Internet-Radiosender läuft. Beheben lässt es sich jedoch, indem die EPG-Zeiten zunächst ungerundet gespeichert werden, so wie sie eintreffen, und die Rundung auf Minuten erst beim Auslesen aus der EPG-Datenbank (z.B. um die Zeiten irgendwo anzuzeigen) stattfindet. Die Änderung betrifft auch den Media Server. Vorgeschichte siehe hier.

 

Ich könnte jetzt also eine DVBViewer-Version zur Verfügung stellen, mit der das EPGLogger-Plugin auch bei Internetradio korrekt funktioniert. Die Realisierung des eigentlichen Vorschlags im Media Server ist jedoch noch eine andere Geschichte... hier wäre eine naheliegende Idee, den aus Internetradio-Metadaten resultierenden Pseudo-EPG in Aufnahmelogs mitzuprotokollieren (siehe vorherigen Post). Zwar sind sie nicht als Cue Sheets verwendbar, enthalten dafür aber weitere Infos, die von Interesse sein könnten.

 

Link to comment
vor 4 Stunden schrieb Griga:

hier wäre eine naheliegende Idee, den aus Internetradio-Metadaten resultierenden Pseudo-EPG in Aufnahmelogs mitzuprotokollieren (siehe vorherigen Post).

 

Das wäre mit relativ geringem Aufwand realisierbar. Das Ergebnis sieht in der Praxis etwa so aus:
 

Spoiler


ROCK ANTENNE Rock 'n' Roll 23.03.2024
D:\Dateien von Griga\DMS\03-23_12-17-15_ROCK ANTENNE Rock  n  Roll_ROCK ANTENNE Rock  n  Roll.mp3
Naming Scheme: %date_%time_%station_%event
Device: TS Stream Device
Timer Name: ROCK ANTENNE Rock 'n' Roll
Timer Start: 23.03.2024 12:16:00
Timer Duration: 00:30:00 (30 min.)
Timer Options: Teletext=0, Subtitles=1, All Audio Tracks=1, Adjust PAT/PMT=1, EIT EPG Data=0, Transponder Dump=0
Timer Source: Web

12:17:15 / 00:00:00 (~ 0,00 MB) Start Recording
12:17:15 / 00:00:00 (~ 0,00 MB) Rock: https://www.rockantenne.de
12:17:16 / 00:00:00 (~ 0,00 MB) ROCK ANTENNE - Rock And Roll
12:17:16 / 00:00:01 (~ 0,02 MB) PID 2826: MP3 Audio J. Stereo, 44,1 khz, 128 kbps
12:17:42 / 00:00:26 (~ 0,44 MB) Wanda Jackson - Lets have a party
12:18:12 / 00:00:56 (~ 0,89 MB) Hollies - Bus stop
12:20:57 / 00:03:41 (~ 3,41 MB) ROCK ANTENNE - Rock And Roll
12:21:02 / 00:03:46 (~ 3,48 MB) Hank Thompson - Rockin in the Congo
12:23:22 / 00:06:06 (~ 5,62 MB) Elvis Presley - My Baby Left Me
12:25:27 / 00:08:11 (~ 7,53 MB) ROCK ANTENNE - Rock And Roll
12:25:37 / 00:08:21 (~ 7,69 MB) Carl Perkins - Honey dont
12:28:22 / 00:11:06 (~ 10,19 MB) Deep Purple - Rockin Pneumonia And The Boogie Woogie Flu
12:28:54 / 00:11:39 (~ 10,70 MB) Stop

Average Data Rate: 0,015 MB/s
Total Size: 10,7 MB (11218024 Bytes)

 


 

Das ist schon ziemlich informativ. Ob sich die Erzeugung eines Cue Sheets lohnt, ist eine andere Frage. Für einen automatischen Schnitt müsste der Zeitpunkt der übertragenen Metadaten sehr präzise sein. Bei früheren Versuchen mit Radiotext war das nie der Fall.

 

Link to comment
vor 2 Stunden schrieb Griga:

Für einen automatischen Schnitt müsste der Zeitpunkt der übertragenen Metadaten sehr präzise sein. Bei früheren Versuchen mit Radiotext war das nie der Fall.

 

Sehr wahrscheinlich. Sehe ich täglich beim RDS am Autoradio. Antenne Bayern beginnt scheinbar schon zum Ende des vorherigen Titels den neuen zu senden so daß meist direkt beim Start eines neuen Titels ganz schnell der Text im Display steht. Bei Bayern3 dagegen sieht man noch lange den vorherigen Titel bis da mal der neue erscheint, vorher meist sogar noch 1-2x Eigenwerbung. Wird in DVB sicher nicht anders sein und je nach Sender unterschiedlich. Vermutlich kommen die Texte für RDS und DVB sowieso aus der gleichen "Maschine".

 

Selbst bei sekundengenauer Protokollierung würde so ein vollautomatischer Schnitt ohne manuelle Hör-Kontrolle eher unbrauchbare Ergebnisse erzielen. Ist eben kein Cue-Sheet mit exakten Zeitstempeln. Als Hilfe für manuelles Schneiden wäre so etwas aber natürlich eine Hilfe, ungefähre Position zum schnelleren Suchen/Finden und die genauen Titel zum Benennen.

Link to comment

Ein Cue Sheet als Output hätte allerdings neben einer (wahrscheinlich oft nicht brauchbaren) automatischen Schnittmöglichkeit auch den Vorteil, dass manche Audio Player es als Wiedergabeliste einlesen. D.h. man kann damit direkt zu einem bestimmten Song springen und gelangt so zumindest ungefähr zu dessen Anfang. Allerdings sollte der DVBViewer dies dann auch unterstützen, was einigen zusätzlichenn Implementationsaufwand mit sich bringt. So führt immer eins zum anderen ;)

 

Zu überlegen ist noch, ob der Media Server (optional) wiederholt auftretende Textzeilen ignorieren soll, so wie im obigen Beispiel "ROCK ANTENNE - Rock And Roll", um Eigenwerbung zu eliminieren. Ähnliches ermöglicht bereits der TSPlayer für Radiotext-Output.

 

Link to comment

Dass dies nur vage Informationen sind, und nicht sekundengenau ist total okay. Die Schnitte mit mp3directcut mache ich dann immer noch manuell, aber die .cue-Files bieten dann eine Schablone zur Orientierung.

Link to comment

Hallo,

 

da kann ich Nick1000 nur zustimmen!

 

Es ist meist nicht gerade leicht herauszufinden, in welchem Bereich der Schnitt liegen müßte. Und mp3directcut funktioniert in dieser Hinsicht auch etwas anders als ich es von meinen Video-Editoren, z.B. TS-Doctor, gewöhnt bin. Sowohl was die Darstellung der Timeline angeht als auch die Bewegung des Cursor und die Auswahl des Schnittbereiches.

 

 

Viele Grüße

 

Webturtle

 

Link to comment

Inzwischen stände bei Bedarf eine Media Server-Testversion zur Verfügung, die Shoutcast-Metadaten wie hier exemplarisch angegeben in Aufnahme-Logs schreibt, wahlweise mit oder ohne Wiederholungen.

 

Die Erzeugung von Cue Sheets ist mir jetzt erst mal zu aufwendig. Ich will aber nicht ausschließen, dass ich es in Zukunft noch ergänze. Notwendig dazu wäre eine Beispieldatei, nach der ich hier gefragt hatte.

 

Möglich wäre vielleicht auch ein Programm/Skript, das Aufnahme-Logs in Cue Sheets konvertiert - falls sich jemand sowas zutraut...

 

Link to comment

Top, danke! Ich werde die Testversion morgen mal nach meinen Recordings installieren.

Ich lasse gerade eine .cue-Datei generieren, bei nem Internetradio das noch über Streamripper funktioniert. Lade ich dann morgen hoch. 🙂

Link to comment
vor einer Stunde schrieb Nick1000:

Ich werde die Testversion morgen mal nach meinen Recordings installieren.

 

Die ist noch nicht erhältlich. Ich muss sie erst für dich (wahrscheinlich als PM-Anhang) hochladen. Ich melde es hier, wenn es soweit ist.

 

Link to comment

So, schonmal vielen Dank. Ich teste momentan mit SlamFM (http://stream.slam.nl/slam_mp3), da dieses Internetradio auch noch mit dem uralten Streamripper funktioniert. Im Anhang das vom Streamripper erzeugte Cue-File (Echte Endung wäre natürlich nicht .txt, sonder .cue).

 

Sind mit Aufnahme-Logs die erzeugten .txt-Files im Aufnahmeordner gemeint? Dort ist leider noch kein spezifischer Inhalt erzeugt.

 

sr_program_2024_03_31_11_22_09.txt 03-31_11-21-06_SLAM!_SLAM!.txt

Link to comment
vor 34 Minuten schrieb Nick1000:

Sind mit Aufnahme-Logs die erzeugten .txt-Files im Aufnahmeordner gemeint?

 

 Nein.  Siehe Media Server-Optionen -> Aufnahmen -> Log-Datei schreiben. Ergibt eine zusätzliche .log-Datei.

 

Link to comment

So, das lief prima! Alle Informationen die ich benötige, wurden gespeichert, vielen vielen Dank, das ist der größte und wichtigste Schritt für mich! 🙂

Das jetzt in Cue-Files wäre natürlich die Königsdisziplin, aber ich will nicht nach zu viel fragen. 🙂

streamripper.txt dvbviewer.log

Link to comment

Ich muss mich zunächst korrigieren: Der DVBViewer empfängt keine Shoutcast-, sondern in den Audiostream eingebettete  Icecast-Metadaten. Diese sind allerdings nicht besonders reichhaltig. Neben einigen allgemeinen Infos zum Sender wie sein Name und Genre, die der HTTP Header einmalig beim Verbinden liefert, gibt es nur zwei relevante Felder: StreamTitle und StreamUrl.

 

Was der Media Server im Log aufzeichnet, ist meistens der Inhalt von StreamTitle. Title und Performer werden also nicht separat aufgeführt, sondern üblicherweise zusammen mit einem Bindestrich dazwischen angegeben. Ich frage mich, wie der Streamripper die auseinanderhält. Verlässt er sich einfach darauf, dass sich alle Sender an das Schema halten, oder nutzt er noch andere Informationsquellen? Bei den Radiosendern der ARD kann StreamTitle alles mögliche enthalten: Eigenwerbung, Nachrichten... und WDR 4 gibt anders als Slam! erst den Title und dann den Performer an. Ich sehe nicht, wie daraus ein korrektes Cue Sheet entstehen kann.

 

Link to comment

Ich gehe fest davon aus, dass der Streamripper wie du vermutest, einfach nur den Bindestrich als Trenner nimmt. Leider kann ich das nicht mehr z.B. bei WDR4 testen, da auch dies nicht mehr über den Streamripper funktioniert.

 

Wäre da persönlich pragmatisch, da mir ja die Schablone am wichtigsten ist (mp3directcut z.B. zeigt das eh wieder in einer Zeile an). Ich persönlich sehe kein Problem, den Bindestrich als Trenner zu nehmen, oder alternativ alles unter "Title" zu packen, und unter "Performer" dann z.B. "n/a".

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...