Coding Audio files mit einem tool oder lib auslesen via php?

Burzum

Fiend
Ich suche ein Tool das die folgenden Anforderungen erfüllt:

  • Tell if the file is a proper wav or flac file
  • Get the bitrate from it
  • Get the sample rate / kHz
  • Get the bit rate

Kann es sein das das eventuell mit ffmpeg geht? Konvertieren ja aber kann ich damit die Werte gescheit aus den Files ziehen?

Das Ziel ist es sagen zu können ob die Audiofile in ordnung ist und validieren zu können ob sie eine gewisse (Audio-)Qualität hat.

Alternativ: Jemand hier der so ein Tool schreiben könnte? Müßte unter Windows, BSD und Linux laufen. Würde dafür wohl auch was springen lassen.
 

Adan0s

Administrator
Staff member
Auf Anhieb konnte ich nur das hier finden: http://getid3.sourceforge.net/
Abseits vom Namen kann das Script auch einiges mehr als nur ID3-Tags extrahieren, sondern generell Infos anzeigen lassen.

Weitere Möglichkeit wäre halt einfach ffmpeg oder ähnliches (mencoder) auf dem Server zu installieren und per shell_exec den gewünschten Command ausführen. Rückgabewert ist dann der Output. Natürlich keine schöne Lösung.
 

Burzum

Fiend
@Adanos, taugt leider nicht für das was ich will. shell_exec() ist der Plan, ich mach das beruflich ;) über die php Seite des Problems mach ich mir keine Sorgen. Allerdings ist z.B. der Output von ffmpeg einfach häßlich zu zerlegen. Mußte das schon für ein anderes Projekt machen. Aber da gings nur um mp3s und Qualität war quasi egal.

@Evo
Auch schon probiert. Fail als ich probierte eine 6 Channel Wave in eine 2 Channel mp3 zu konvertieren. Die Frage ist wie man das erkennt und entsprechend konvertieren kann und ob überhaupt die Channels erhalten bleiben in mp3. Bin leider kein Tontechniker und hab auch nie mit Audioformaten zu tun gehabt bisher - außer sie anzuhören. ;)

Die potenteste Lösung zum Auslesen was die File ist und welche Metadaten und sonstigen Attribute sie hat, hat sich bisher exif erwiesen.

Edit: http://wiki.ubuntuusers.de/SoX könnte was taugen, mal evaluieren.

Sieht doch schon mal gut aus...

PHP:
    [0] =>
    [1] => Input File     : '6channel.wav'
    [2] => Channels       : 6
    [3] => Sample Rate    : 44100
    [4] => Precision      : 16-bit
    [5] => Duration       : 00:00:05.84 = 257411 samples = 437.774 CDDA sectors
    [6] => File Size      : 3.09M
    [7] => Bit Rate       : 4.23M
    [8] => Sample Encoding: 16-bit Signed Integer PCM
    [9] =>
    [10] =>
 
Last edited:

e.v.o

Light Guard
Für 6Channel Material habe ich unter Windows immer beSweet genommen.

Ich denke es wäre hilfreich mal bei doom9 reinzuschneien und dort zu schauen wie man sonst solche Konvertierungen vornimmt (lies: welche Software es dafür unter *nix gibt)
 
Top