So erhalten Sie die tatsächliche tatsächliche Dauer einer MP3-Datei (VBR oder CBR) auf der Serverseite
Ich zur Berechnung der Dauer von MP3-Dateien auf server-Seite mit dem ffmpeg -, die schien zu funktionieren. Heute habe ich entdeckt, dass einige der Berechnungen waren falsch. Irgendwie, aus irgendeinem Grund, ffmpeg verrechnen die Dauer und es scheint zu geschehen mit variabler bit-rate von mp3-Dateien nur.
Beim testen das lokal bemerkte ich, dass ffmpeg-gedruckt von zwei zusätzlichen Zeilen in grün.
Befehl verwendet:
ffmpeg -i song_9747c077aef8.mp3
ffmpeg sagt:
[mp3 @ 0x102052600] max_analyze_duration 5000000 reached at 5015510
[mp3 @ 0x102052600] Estimating duration from bitrate, this may be inaccurate
Nach einem schönen, warmen google-session entdeckte ich einige Beiträge, aber keine Lösung gefunden wurde.
Ich habe dann versucht, erhöhen Sie die maximale Dauer:
ffmpeg -analyzeduration 999999999 -i song_9747c077aef8.mp3
Danach ffmpeg wieder nur die zweite Zeile:
[mp3 @ 0x102052600] Estimating duration from bitrate, this may be inaccurate
Aber in beiden Fällen die berechnete Dauer war einfach nur falsch. Vergleich zum VLC habe ich gemerkt, dass es die Dauer ist richtig.
Nach mehr Forschung ich stolperte über mp3info - die ich installiert und verwendet werden.
mp3info -p "%S" song_9747c077aef8.mp3
mp3info dann wieder die RICHTIGE Dauer, sondern nur als ganze Zahl, die kann ich nicht verwenden, da Brauch ich eine genauere Zahl hier. Der Grund dafür war, erklärte in einem Kommentar unten, durch den Benutzer blahdiblah - mp3info ist einfach ziehen ID3-Infos aus der Datei und nicht tatsächlich durchführen Berechnungen.
Ich habe auch versucht mit mplayer zum abrufen der Dauer, sondern nur wie ffmpeg, mplayer ist wieder der falsche Wert.
InformationsquelleAutor der Frage SquareCat | 2012-05-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fand ich endlich eine richtige Lösung für dieses problem mit sox - liefert die richtigen Informationen.
Länge (Sekunden): 219.062857
InformationsquelleAutor der Antwort SquareCat
Können Sie die Datei entpacken, komplett, um die tatsächliche Dauer:
Zweiten bis letzten Zeile der Ausgabe in der Konsole zeigen wird, so etwas wie:
Wo
time
ist die tatsächliche Dauer. In diesem Beispiel wird der ganze Prozess dauerte etwa 0,5 Sekunden.InformationsquelleAutor der Antwort LordNeckbeard