Playlist Option für UTF-8-BOM

Ich nutze die Cloudplayer App für Android als Streamer für meine One Drive Hörbücher und Songsammlung.

Mein Problem ist, dass der Cloudplayer die m3u Playlist im Format UTF-8-BOM erwartet, ansonsten zeigt er gar nix an, da alles in m3u Listen enthalten sein muss, um in der App zu erscheinen.

Ist das m3u File nicht in dem Format, gibt es weder die Liste noch einen Titel daraus.

Jetzt muss ich jedesmal nach dem konvertieren / digitalisieren / mp3 tagging und dem Playlist Export diese in notepad++ öffnen, um dann Kodierung - konvertiere in UTF-8-BOM auszuführen. Da ich das nur 2 oder 3 x im Jahr mache und dann aber 10 bis 15 Hörbücher, gerät das zu gern in Vergessenheit und schwupps ist nach dem Upload nix vom neuen Zeug in der App zu sehen.

Keine Ahnung, wie aufwendig diese Option ist, mir würde es wie allen anderen Cloudplayer Nutzern helfen, wenn es unter Extras - Optionen - Playlist eine Option UTF-8-BOM gäbe.
Ich denke, das wohl klar sein dürfte, was UTF-8-BOM erfordert.
Jedenfalls sortiert der Cloudplayer /Twist die m3u aus, wenn die Inhalte nicht in dem Format vorliegen.

Wäre schön, wenn man das noch unterbringen könnte. Die Fehlersuche und Lösung hat mich 6 Monate gekostet, bis ich das System darunter erst einmal verstanden hatte, weil ich aus verschiedenen Gründen in der App manche neuen Hörbücher nicht fand, obschon die in onedrive vorlagen. Das Ganz ist schon 12 Monate her, aber ich bin jüngst erneut über "verlorene Hörbücher" gestolpert und wollte nun mal fragen, ob das ginge.

Ursprünglich kam aus dem AAC Converter eine m3u die tat, nur war deren tagging eher mau, weshalb ich mp3tag nutzte, ohne zu ahnen, dass mp3tag mit seinem Dateiaufbau so haarscharf daneben liegen würde. Das wird besonders Übel, wenn die Tags auch noch Umlaute hatten, aber an der Stelle scheint die Cloudplayer App nun weiter zu sein.

Danke schön

UPDATE:

In Extras - Optionen - Export gibt es unten die Option "Exportdatei mit BOM".

Genau das würde bei dern Playlist Optionen am Ende der oberen Hälfte auch passen mit "Playlistedatei mit BOM"

Bis es diese Option gibt, könntest Du folgendes PowerShell-Script verwenden:

Param (
    [parameter(Mandatory=$true)]
    [string] $FullFileName
    )

$file = (Get-Item $FullFileName).Basename
$dirname = (Get-Item $FullFileName).DirectoryName
$suffix = 'utf8-BOM'
Get-Content $FullFileName | Set-Content -Encoding utf8 $dirname\$file-$suffix.m3u

TIMEOUT /T 10

Dieses PowerShell-Script (ich habe es im Beispiel als ConvertMyPlaylist.ps1 in das Verzeichnis C:\Temp gespeichert) kannst Du entweder direkt von einem PowerShell-Prompt aufrufen und dann die bereits erstellte Playlisten-Datei mit Drag & Drop in das laufende PowerShell-Script ziehen.

Oder Du erstellst Dir ein neues sogenanntes "Tool" in Mp3tag (Datei -> Optionen -> Tools)

Den Namen Deines neuen Tools kannst Du frei wählen.
Den Pfad zu Deiner aktuellen PowerShell.exe musst Du allenfalls anpassen.
Der Parameter lautet:
-ExecutionPolicy Bypass -NoProfile -File "C:\Temp\ConvertMyPlaylist.ps1" -FullFileName "C:\Temp\MyPlaylist.m3u"

Den Namen der PowerShell-Datei ConvertMyPlaylist.ps1 kannst Du genauso anpassen wie den Pfad und Namen Deiner generierten MyPlaylist.m3u

Frag einfach wieder, wenn hier etwas unklar ist.

1 Like

Man kann eine UTF-8-Playlist einfach erstellen, indem man als Endung nicht m3u sondern m3u8 verwendet.
Das mit dem BOM müsste man dann checken.

Hier ist auch noch ein Thread, der von Playlisten-Erzeugung via Export handelt:

1 Like

Erstaunlicherweise hat das tatsächlich geklappt, einfach im MP3TAG beim Export via Datei - Playlist (alle Dateien) beim Playlistnamen einfach eine '8' anzuhängen, sprich aus whatever.m3u ein whatever.m3u8 zu machen und so eine Datei im UTF 8 BOM Format zu erhalten,

die zudem noch als m3u8 Playlist von der Android App sofort erkannt worden ist.

Einfach, gut, tut und und kein großer Umweg, aber nur für all die, die das wissen, so dass eine Erweiterung der Optionen für Playlisten mir immer noch sinnvoll erscheint.

DANKE, fixe und einfache Lösung oder Workaround !
Chapeau!

Generell erst einmal vielen Dank für das Script und vor allem die Erklärung, denn

auch wenn ich das nun nicht hierfür einsetze, weil der ohrenkino eine noch sagen wir bequemere Lösung fand, wo ich beim Erzeugen der Playlist nur die '8' an die Standardendung m3u hängen brauch,

finde ich die Script Idee sehr gut - nur halt für was anderes, wozu ich das halt ein wenig anpassen darf. Nur fehlt mir gerade die Zeit, aber Ostern werde ich das dann in Angriff nehmen.

Daher ebenso ein großer Dank für die fixe und Klasse Lösung, die mir das Leben an anderer Stelle noch erleichtern wird.

Dennoch hoffe ich auf die Option in den Playlist Bereich, dort einfach ein "m3u" oder "m3u8" anzubieten, weil dann alles bei mir gelöst wäre - ebenso all den anderen, die m3u8 brauchen.

1 Like

Bitte gern geschehen - ein Hintergedanke von mir war schon auch, dass man das Prinzip mit dem externen PowerShell-Script grundsätzlich für seine eigenen Zwecke verwenden kann. Egal ob nun für die Umwandlung eines bestehenden Textinhalts in UTF-8-BOM oder ob man damit sonst was macht. :wink:

1 Like

Die endgültige Lösung ist nun Dank Ohrenkinos Hinweis mit Bordmitteln möglich.

Mit seinem Vorschlag wird Dank der Playlistendung *.m3u8 zuverlässig eine Playlist im UTF 8 BOM Format erzeugt, die meine App auch erkennt und verstehen kann.

Der letzte Schritt und das i-Tüpfelchen ist aber die dauerhafte und automatisierte Erzeugung von m3u8 Playlisten über eine Einstellung in den Optionen der Playlists, denn die Möglichkeit existiert, wenn man denn genauer hinschaut, was da geboten wird:

Extras - Optionen - Export - die untere Hälfte hat den Titel "Playlist Dateiname"

Darin ist die erste Option ein Playlist Vorgabename und hier reicht es schon, die Standardvorgabe von "mp3tag.m3u" in "mp3tag.m3u8" umzubenennen. Das ist die perfekte Lösung für alle mit Backgroundwissen, was mit m3u8 erreicht werden kann. Für alle anderen wäre vermutlich eine Option zum Anklicken m3u oder m3u8 für utf 8 bom Format einfacher zu verstehen.

Bei mir heißt diese Standardliste allerdings "#.m3u8", weil das # diese Datei so immer nach oben in der Dateiliste spült und ich das Umbenennen mit dem Hörbuchnamen nicht vergesse.

Randtip: Wer seine Dateinamen im Stile 'Buchtitel - Track Nr. - Autor.mp3' oder 'Band - Album - Track Nr. - Titel.mp3" benennt, der kann diese meta Dateien wie das Album jpg, die Playlist oder Textfiles auch zuverlässig an die Spitze bekommen, indem er die Dateinamen einfach vor dem 1. Bindestrick um ein Leerzeichen ergänzt, denn so wird das 2. Leerzeichen die anderen Dateien nach hinten verdrängen, weil Leerzeichen vor dem Bindestrich einsortiert wird.
Für Ästheten macht ein 2. Leerzeichen nach dem Bindestrich auch Sinn.

Campino - Hopestreet.m3u8
Campino - Hopestreet.jpg
Campino - Hopestreet.txt
Campino - Hopestreet - 01.mp3
Campino - Hopestreet - 02.mp3
Campino - Hopestreet - 03.mp3

Das hat im Übrigen auch bei der Cloudplayer App den schönen Vorteil, dass die Hauptansicht mit Titel des Albums / Hörbuchs auf dem Dateinamen der m3u8 basiert, also mit 2 Leerzeichen vor und nach dem 1. Bindestrich.

Für alle Überflieger und Schnellleser:

In Extras - Optionen - Export in der unteren Hälfte Playlist Dateiname die Vorgabe mp3tag.m3u einfach in mp3tag.m3u8 ändern.

Fortan werden nur noch Playlisten des Typs m3u8 erzeugt, was automatisch utf 8 bom Format bedeutet und damit alle Probleme aufhebt.

Ich wollte mich noch mal zum Thema Tool & Powershell mit der Idee melden, so maschinell eine Playlist aller Titel im aktiven Ordner im Format m3u8 zu erzeugen, wobei der m3u8 Dateiname aus 2 MP3 Tags generiert werden soll (Künstler und Album / Autor und Hörbuch).

Für Campino's Hörbuch "Hope Street" sollte die m3u8 Playlist "Hope Street - Campino.m3u8" mit nur 1 Klick dann im gleichen Ordner erzeugt werden.

Ich hab in Deinem Script kein Auslesen von Tags zur weiteren Verwendung im Dateinamen gesehen, aber in der Hilfe zu Tools Verweise auf die Skriptbefehle gefunden, wo ja auch mp3 tags ausgelesen und verarbeitet werden können.

Nach dem eigentlichen Tagging hab ich meist nur noch 2 Jobs zu tun:

  1. die mp3 Dateinamen auf Basis des Tagging umbenennen und
  2. die M3U8 Playlist erzeugen

Den letzten Punkt würde ich mit der Tool Aktion gern so automatisieren, weil man sich so viel händische und vor allem fehlerträchtige Schritte sparen kann, die gerade bei der App immer erst viel später herauskommen, weil ich meist 5 Hörbücher auf einmal digitalisiere und hochlade, wo mir zuletzt 2 mal welche verloren gingen, weil die Playlist nicht im utf 8 BOM Format gewesen waren. Und das kam in den letzten 3 oder 4 Jahren immer wieder mal vor, wenn Umlaute im Titel oder Album- bzw. Künstlernamen enthalten waren.

Ich wollte lieber vorab fragen, bevor ich an der falschen Ecke beginne und es dann ewig dauern sollte, bis ich erkenne, dass das so nicht gehen sollte / kann.

DANKE

Das im Detail zu erklären, würde hier den Rahmen sprengen. Wir sind hier schon ziemlich weit weg von Deiner gewählten Kategorie "Vorschläge".

Vielleicht helfen Dir diese Grundsätze:
a) Du kannst in den Tools verschiedene Parameter an externe Programme übergeben, das dürfen nicht nur die in der Hilfe aufgeführten Platzhalter sein, das funktioniert z.B. auch mit %ARTIST% oder %ALBUM% und anderen Tags.
b) Was Du in der externen Batch-Datei oder dem PowerShell-Script mit den übergebenen Informationen machst, ist ganz Dir überlassen. Je nach Programmierfähigkeit und Nachfrage bei Dr. Google findet man alles Notwendige.

Da wir hier im Mp3tag-Forum sind, kann ich Dir dazu leider nicht mehr wirklich weiter helfen.

Ja, mir ging es nur um die generelle Frage, ob ich mit meiner Einschätzung richtig liege, dass man das Gewünschte mit den Powershell Scripten so hinbekommen könnte.

Ich habe mit Batch in den 80ern begonnen und noch lange fortgesetzt, als es schon Windows XP und Co. gab, aber eher weniger PowerShell Geschichten oder nur sehr spezifische. Ich meine, ich habe mal itunes Geschichten mit Powershell gemacht, um die Bibliothek zu manipulieren.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.