[php] mp3 info extracten

Pagina: 1
Acties:
  • 105 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • XdeckX
  • Registratie: September 2002
  • Niet online
Ik ben bezig met een scriptje om mn mp3 library wat overzichtelijker te maken.
Ik wil hiervoor (lokaal) een pad invoeren waar mijn mp3's staan.
Per directory moet dan aangegeven worden hoeveel nummers, totale tijd per album, enzo worden toegevoegd. Ook wil ik de bitrate eruit halen.
Nu is dat voor CBR encoded mp3's geen probleem. Alleen krijg ik dit voor VBR mp3's niet voor elkaar.
Is het mogelijk een soort gemiddelde bitrate te verkrijgen uit een VBR mp3?

Nu krijg ik als ik een VBR mp3's gebruik de laagst gebruikte bitrate binnen de mp3 te zien.
Ook zoeken op internet heeft me nog niet echt kunnen helpen.

Acties:
  • 0 Henk 'm!

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 10-08 02:59

Gerco

Professional Newbie

Voor een VBR mp3 moet je van elke mpeg frame de bitrate pakken en een gewogen(!) gemiddelde berekenen over de tijd dat de mp3 duurt. Er staat nergens een gemiddelde bitrate in de file dat ik weet. Niet elke frame is even lang (in tijd of in bytes, welke weet ik niet meer), dus je moet wel opletten dat je een gewogen gemiddelde berekent en niet gewoon simpel alles optelt en door het aantal frames deelt (al zal de afwijking minimaal zijn gok ik).

Het gaat geen extra tijd kosten, want om de totale tijdsduur voor een VBR te berekenen moet je toch al elke frame even bekijken.

[ Voor 12% gewijzigd door Gerco op 03-01-2007 22:58 ]

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


Acties:
  • 0 Henk 'm!

  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 19-09 09:34

thomaske

» » » » » »

Is het niet veel makkelijker om de filesize te delen door de lengte van het nummer? Of zie ik iets over het hoofd?

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


Acties:
  • 0 Henk 'm!

Verwijderd

thomaske schreef op woensdag 03 januari 2007 @ 23:52:
Is het niet veel makkelijker om de filesize te delen door de lengte van het nummer? Of zie ik iets over het hoofd?
En hoe kwam je ook alweer aan de lengte van het nummer?

Acties:
  • 0 Henk 'm!

  • JochemK
  • Registratie: Maart 2003
  • Laatst online: 20-09 15:34
Verwijderd schreef op woensdag 03 januari 2007 @ 23:55:
[...]

En hoe kwam je ook alweer aan de lengte van het nummer?
Staat die niet toevallig in de tag / header?

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
kingjotte schreef op donderdag 04 januari 2007 @ 01:16:
[...]


Staat die niet toevallig in de tag / header?
Als je geluk hebt misschien wel, maar wie zegt dat die MP3 correct getagged is, laat staan dat die informatie aanwezig is?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

Verwijderd

http://www.google.com/sea...official&client=firefox-a

Eerste hit:
var $allow_bruteforce = false; // forces getID3() to scan the file byte-by-byte and log all the valid audio frame headers - extremely slow, unrecommended, but may provide data from otherwise-unusuable files
Ik weet niet of die bruteforce nodig is. Dat mag je dan nog net zelf uitzoeken.

[ Voor 61% gewijzigd door Verwijderd op 04-01-2007 01:52 ]


Acties:
  • 0 Henk 'm!

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 10-08 02:59

Gerco

Professional Newbie

thomaske schreef op woensdag 03 januari 2007 @ 23:52:
Is het niet veel makkelijker om de filesize te delen door de lengte van het nummer? Of zie ik iets over het hoofd?
Zelfs als je de lengte zou hebben, ging dat nog niet (nauwkeurig) werken. Je rekent dan namelijk de mpeg frames mee in de bitrate. Die zijn niet zo heel groot, maar het zorgt uiteraard wel voor een afwijking in de uitkomst.

Om de lengte van een VBR mp3 te berekenen, moet je toch al elk frame langslopen, dus kun je net zo goed gelijk de bitrate meenemen als je toch bezig bent.

[ Voor 14% gewijzigd door Gerco op 04-01-2007 09:04 ]

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


Acties:
  • 0 Henk 'm!

  • NLChris
  • Registratie: Juli 2004
  • Laatst online: 20-09 11:41
Verreweg de meeste VBR mp3 bestanden hebben extra informatie staan ergens in het begin van het bestand.

Als je zoekt op MP3 XING VBR TAG moet je een heel eind komen, je hoeft dan niet alle frames af te lopen.

Acties:
  • 0 Henk 'm!

Verwijderd

"Verreweg de meeste VBR mp3 bestanden hebben extra informatie staan ergens in het begin van het bestand."
Niet allemaal..., dus geen optie...

@TS:
Het is op zich vrij simpel om dit voor elkaar te krijgen, alleen zul je wel wat info op moeten zoeken op internet. Bijv hier: http://www.nldelphi.com/c...s.exe/ShowArticle?ID=7062
Je zult alle headers langs moeten gaan, het is gewoon niet anders. Ik heb ooit zelf eens een script geschreven hiervoor (waar ik net nog even naar heb gezocht, maar kan het niet vinden, anders had je het gekregen). Als je het goed doet, hoeft het per MP3-bestand slechts 1/100ste seconde te duren om alle info te krijgen.

Acties:
  • 0 Henk 'm!

  • NLChris
  • Registratie: Juli 2004
  • Laatst online: 20-09 11:41
Verwijderd schreef op donderdag 04 januari 2007 @ 16:55:
"Verreweg de meeste VBR mp3 bestanden hebben extra informatie staan ergens in het begin van het bestand."
Niet allemaal..., dus geen optie...
Heel veel spelers en mp3 spelers gaan hiervan uit, ik zou gewoon die tag uit lezen en misschien als extra controle de eerste (50?-100?) frames uitlezen ter controle -> Als de bitrate gelijk is np, zoniet en geen Xing/LAME Tag dan alle frames aflopen.
Als je het goed doet, hoeft het per MP3-bestand slechts 1/100ste seconde te duren om alle info te krijgen.
Als je veel mp3s zo doorscant duurt het aanzienlijk langer dan een tag uitlezen. Het is natuurlijk wel de meest precieze oplossing :)

[ Voor 20% gewijzigd door NLChris op 04-01-2007 17:10 ]


Acties:
  • 0 Henk 'm!

  • T-MOB
  • Registratie: Maart 2001
  • Laatst online: 16:36
Kun je niet gewoon een command line tooltje gebruiken om de info uit te lezen? Ik gebruik zelf (op linux) mpck om meta-info uit een mp3 te trekken. Die geeft de volgende output:
SUMMARY: ./MP3/Losse Tracks/Club- en Hardtrance//Mauro Picotto - Pulsar 2K5 (Megavoices Mix).mp3
    version                       MPEG v1.0
    layer                         3
    average bitrate               201512 bps (VBR)
    samplerate                    44100 Hz
    frames                        14782
    time                          6:26.142
    unidentified                  92 b (0%)
    errors                        none
    result                        Ok

Wat vrij eenvoudig uit te lezen is met PHP.

Regeren is vooruitschuiven

Pagina: 1