Clementine spielt keine Dateien mit bestimmten Zeichen im Namen ab

7

Letzte Woche habe ich ein paar CDs in Morituri und Rhythmbox gerippt. Bis auf eine CD schien alles in Ordnung zu sein. Nach ein paar Tracks bekam ich einen seltsamen Fehler beim Rippen (zu FLAC) mit Morituri, also riss ich den Rest dieser CD mit Rhythmbox.

Danach konnte Clementine die Tracks, die ich von der CD gerissen hatte, nicht mehr abspielen (ebenso die mit Morituri gerippten wie die mit Rhythmbox). Clementine tut so, als ob sie nicht in meiner Bibliothek vorhanden wären. Mit Rhythmbox kann ich jedoch alle Tracks perfekt abspielen.

Ich habe das gleiche Problem mit einigen MP3-Dateien, die ich von einem Freund bekommen habe. Ich kann sie in Rhythmbox spielen, aber Clementine tut so, als ob sie nicht existieren.

Wie kann ich es wieder normal zum Laufen bringen? Ich habe bereits versucht, es neu zu installieren, die Konfigurationsdateien zu löschen, die installierte aus den Repos zu entfernen und die neueste Version von www.clementine-player.org zu installieren

Hinweis: Clementine kann die anderen CDs, die ich gerippt habe, sowie den Rest meiner Musikbibliothek perfekt abspielen (meistens in FLAC, mit einigen Dateien in MP3).

Ich weiß nicht, welche zusätzlichen Informationen ich bereitstellen kann, kann aber gerne nachfragen.

Bearbeiten: Wenn ich Clementine in einem Terminal ausführe und dann versuche, einen der "problematischen" Titel abzuspielen, wird folgende Meldung angezeigt:

11:36:48.542 INFO  MoodbarLoader:144                Creating moodbar data for "/home/user138784/Music/Stromae/Racine Carrée/01.Ta fête.flac" 
11:36:48.546 ERROR MoodbarPipeline:134              Error processing  QUrl( "file:///home/user138784/Music/Stromae/Racine Carrée/01.Ta fête.flac" )  : "Resource not found." 
11:36:48.546 ERROR MoodbarPipeline:134              Error processing  QUrl( "file:///home/user138784/Music/Stromae/Racine Carrée/01.Ta fête.flac" )  : "Resource not found." 
11:36:48.571 ERROR GstEnginePipeline:563            2 "gstfilesrc.c(1042): gst_file_src_start (): /GstPipeline:pipeline/GstURIDecodeBin:uridecodebin-15/GstFileSrc:source:
No such file "/home/user138784/Music/Stromae/Racine Carrée/01.Ta fête.flac"" 
11:36:48.572 ERROR GstEnginePipeline:563            2 "gstfilesrc.c(1042): gst_file_src_start (): /GstPipeline:pipeline/GstURIDecodeBin:uridecodebin-15/GstFileSrc:source:
No such file "/home/user138784/Music/Stromae/Racine Carrée/01.Ta fête.flac"" 
11:36:48.681 WARN  GstEngine:572                    Gstreamer error: "Resource not found." 
11:36:48.684 WARN  unknown                          QTimeLine::start: already running 

Ich denke, das Problem könnte mit einigen Zeichen zusammenhängen, die im Pfad zur Datei verwendet werden. Zum Beispiel kann das Album "Racine Carrée" sowie Songs von "Goran Bregović" nicht gespielt werden. Da ich meine Musik mit Beets organisiere, wird dieser Pfad automatisch erstellt. Vielleicht kann ich meine Beets-Konfigurationsdatei bearbeiten, um Sonderzeichen auszuschließen.

Ich benutze Ubuntu 13.10

edit: Der localeBefehl gibt die folgende Ausgabe zurück:

LANG=en_US
LANGUAGE=en_GB
LC_CTYPE="en_US"
LC_NUMERIC="en_US"
LC_TIME="en_US"
LC_COLLATE="en_US"
LC_MONETARY="en_US"
LC_MESSAGES="en_US"
LC_PAPER="en_US"
LC_NAME="en_US"
LC_ADDRESS="en_US"
LC_TELEPHONE="en_US"
LC_MEASUREMENT="en_US"
LC_IDENTIFICATION="en_US"
LC_ALL=
user138784
quelle
2
Wenn Sie Clementine von einem Terminal aus ausführen und versuchen, diese Dateien abzuspielen, werden Fehlermeldungen ausgedruckt?
Hytromo
Danke für diesen Vorschlag! Ich fühle mich ein bisschen dumm, weil ich das nicht zuerst versucht habe.
user138784
user138784 versucht vielleicht, eine dieser Dateien in ein Format wie ogg zu konvertieren. Es gibt Programme im Ubuntu-Softwarecenter, die sie in ogg konvertieren können, wie dir2ogg, das Kommandozeilenbasis ist, und ogg convert, das ein
GUI-
Das Problem hat nichts mit dem Codec zu tun, sondern mit dem Pfad oder den Dateinamen. Die Songs können abgespielt werden, wenn ich die Namen der Pfaddateien in etwas ohne Sonderzeichen ändere.
user138784

Antworten:

3

Das ist bizarr. "Ta fête" oder "Ta fête" , ein UTF-8-Gebietsschemasystem sollte sie problemlos öffnen können. Ich habe gerade Clementine auf einer neuen Kopie von Ubuntu 13.10 installiert und Test-Audiodateien können problemlos wiedergegeben werden, unabhängig davon, wie ich ihre Pfadnamen geändert habe.
Ich weiß, das klingt dumm, aber könnten Sie versuchen, Ihr aktuelles Gebietsschema zu überprüfen, indem Sie localedas Terminal eingeben ? Ich bezweifle, dass es das Problem ist, aber es tut nicht weh, es zu überprüfen.

Versuchen Sie locale -aherauszufinden, ob en_US.UTF-8und en_GB.UTF-8auf Ihrem System verfügbar sind. Wenn dies der Fall ist, möchten Sie Ihre Konfigurationsdateien für das Gebietsschema öffnen, indem Sie sudo gedit /etc/default/localeterminal eingeben , und alles auf en_US.UTF-8 ändern (und LANG auf en_GB.UTF-8, wenn Sie stattdessen UK-Englisch möchten).

Ich denke, LANG alleine sollte in Ordnung sein, also sollte Ihre Gebietsschema-Konfigurationsdatei so aussehen:

LANG = "en_GB.UTF-8"

Starten Sie danach Ihr System neu und versuchen Sie erneut, die Dateien abzuspielen.

Weitere Informationen finden Sie hier:
https://help.ubuntu.com/community/Locale#Changing_settings_permanently

Wenn das Bearbeiten von / etc / default / locale nicht funktioniert:

Versuchen Sie zunächst, Ihre aktuellen Gebietsschema-Pakete manuell zu generieren und neu zu konfigurieren:

sudo locale-gen
sudo dpkg-reconfigure locales

Installieren Sie dann das Sprachpaket, um sicherzustellen, dass die Gebietsschemas überhaupt vorhanden sind (nur um auf der sicheren Seite zu sein):

sudo apt-get install language-pack-en-base

Öffnen Sie dann die Sprachunterstützung vom System und ziehen Sie Englisch (USA) nach oben, und wenden Sie es systemweit an. Melden Sie sich ab und wieder an, führen Sie das localeTerminal aus, um festzustellen, ob die Änderungen zutreffen. Wenn es funktioniert, großartig. Aber es wird wahrscheinlich nicht funktionieren, wenn selbst die manuelle Bearbeitung der Gebietsschemadatei fehlschlägt. Versuchen Sie es also sudo gedit /etc/environmentim Terminal und fügen Sie dies nach PATH hinzu:

LANG="en_US.UTF-8"
LC_ALL="en_US.UTF-8"

Speichern und neu starten, um festzustellen, ob es wirksam wird. Sie sollten sehen, localedass Sie diesmal die richtige Ausgabe erhalten, wenn dies funktioniert. Andernfalls übernimmt Ihr System stattdessen die Gebietsschemaeinstellungen von einem anderen Ort.

Wenn UTF-8 für Ihr Systemgebietsschema immer noch nicht verwendet wird,

sudo gedit etc/bash.bashrc

Fügen Sie dies in die letzte Zeile ein (achten Sie darauf, nichts anderes zu bearbeiten):

# Forcing locale to en_US.UTF-8
export LANG="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"

Speichern und neu starten.

exzentrischSam
quelle
1
Kannst du jetzt einen Kommentar abgeben?
Zeitue
1
Leider noch nicht. Ich brauche nur noch 9 Reputationen, aber ich denke, ich werde sie rechtzeitig bekommen. Danke für die Hilfe.
Exzentriker
Nun,
1
Ich habe die Ausgabe von hinzugefügt locale. Ich hatte in der Tat einige Probleme mit dem Gebietsschema, nachdem ich eine Neuinstallation von 13.10 durchgeführt hatte (um einige Probleme zu lösen, die ich nach dem Upgrade von 13.04 auf 13.10 hatte, aber es hat sich nichts geändert)
user138784
Meine Gebietsschemadatei enthält nurLANG="en_GB.UTF-8"
user138784
3

Wie ich bereits sagte, wird das Problem tatsächlich durch Sonderzeichen im Dateinamen oder im Pfad verursacht. Wenn Sie dies ändern, wird das Problem behoben.

Eine bessere Lösung wäre natürlich, Clementine die Sonderzeichen richtig lesen zu lassen, aber ich habe noch nicht herausgefunden, wie das geht, vielleicht ist es ein Fehler.

edit: Ich könnte dieser Fehler sein .

edit2: Beim zweiten Gedanken denke ich, dass dies nicht der Fall ist, da Ubuntu UFT-8 verwendet (wenn ich mich nicht irre, habe ich wenig Wissen über dieses Zeug).

user138784
quelle
0

Es scheint, dass Clementine URIs aus den Dateinamen macht. Leerzeichen sind in URIs nicht zulässig, auch wenn UTF-8 verwendet wird. Die Notwendigkeit, entkommen zu müssen %20. Andere Sonderzeichen sollten ebenfalls entkommen

Sie können versuchen, die Leerzeichen in den Dateinamen durch Unterstriche, Bindestriche usw. und die Sonderzeichen wie éoder êdurch die Standardzeichen für Latein zu ersetzen , z e.

Wenn Sie dies mit den Datei- und Ordnernamen tun, hat dies keinen Einfluss darauf, wie das Material in Clementine angezeigt wird. Dies wird aus den ID3-Tags gelesen, die solche Zeichen zulassen. Benennen Sie das Zeug um und ändern Sie Ihre Clementine-Bibliothek neu. Das sollte es beheben.

Um das UTF-8 vs. ASCII-Zeug zu erklären:

Ubuntu verwendet standardmäßig UTF-8 (zumindest soweit ich weiß), aber URIs verwenden nur ASCII, sodass jedes Unicode-Zeichen wie é, das doppelt so groß wie ASCII ist, als zwei ASCII-Zeichen interpretiert wird:é

s3lph
quelle
Leerzeichen in Dateinamen sind kein Problem, Sonderzeichen jedoch. Aber das Seltsame ist: Soweit ich weiß, hat es unter Ubuntu 13.04 funktioniert. (Ich weiß nicht, wann die Probleme genau angefangen haben, aber ich nehme an, es war nach dem Upgrade auf 13.10)
user138784
Dann ersetzen Sie einfach die Sonderzeichen ...
s3lph