2012-01-30 18 views
6

Ho scritto del codice PHP per estrarre i tag ID3 dai file mp3. Il prossimo passo è fare lo stesso con i file .m4a. Dalla ricerca che ho fatto sembra che la maggior parte dei file m4a non utilizzino ID3 ma un formato che usa gli "atomi".Recupera informazioni ID3 dal file m4a in PHP

Esistono librerie PHP che possono analizzare questi "atomi"? Ho visto alcuni C#/C++ ma non ho potuto trovare alcun PHP. Qualsiasi altra guida o documentazione sarebbe grande pure.

Grazie

+2

Puoi provare ['getID3()'] (http://getid3.sourceforge.net/) - Ho avuto molto successo con questa libreria in passato per vari tipi di tag multimediali. – DaveRandom

+0

Una cosa che ho dimenticato di menzionare è che non ho il file completo. Ho solo i primi X byte. GetID3 supporta i file parziali? – Nick

+1

Penso che legga solo i tag nell'intestazione, e penso che questo di solito è nei primi X byte del file - ma la risposta è "Prova e vedi" – DaveRandom

risposta

-1

mi sono imbattuto in un problema simile non troppo tempo fa e aveva un'occhiata in giro. Il metodo più semplice ed efficace (secondo me) è usare il comando exec per ottenere informazioni multimediali extra.

ho basato il mio codice su un forum inviare sopra a longtailvideo http://www.longtailvideo.com/support/forums/jw-player/setup-issues-and-embedding/9448/how-to-get-video-duration-with-ffmpeg-and-php

<?php 
$videofile="/var/video/user_videos/partofvideo.avi"; 
ob_start(); 
passthru("/usr/bin/ffmpeg -i \"{$videofile}\" 2>&1"); 
$duration = ob_get_contents(); 
ob_end_clean(); 

$search='/Duration: (.*?),/'; 
$duration=preg_match($search, $duration, $matches, PREG_OFFSET_CAPTURE, 3); 

echo $matches[1][0]; <-- Duration 
?> 

Questo script in grado di gestire qualsiasi cosa ffmpeg è preparato a gestire (che è un sacco!) So che l'esempio precedente illustra un file video, ma , funzionerà bene con audio anche