Linuchs: Spieldauer eines Mediums ermitteln

Beitrag lesen

Moin,

wie kann man die Spieldauer einer Audio- oder Videodatei ermitteln, die im Internet erreichbar ist? Ich brauche das für ein Lieder-Verzeichnis.

Ich machte das bisher, indem ich sie geladen und ausgewertet habe:

  $contents = file_get_contents( $file_quelle );
  if ( $contents ) {
    $handle = @fopen( $file_ziel, 'wb' );
    if ( $handle ) {
      fwrite( $handle, $contents );
      fclose( $handle );
    }
    // include getID3() library (can be in a different directory if full path is specified)
    require_once( "./get_id3/getid3.php" );
    // Initialize getID3 engine
    $getID3 = new getID3;
    // Analyze file and store returned data in $ThisFileInfo
    $ThisFileInfo = $getID3->analyze($file_ziel);
    $row_med['dauer_min_sec'] = $ThisFileInfo['playtime_string'];
    unlink( $file_ziel );
  }

Doch nun kam bei einer MP4-Datei der Fehler

http://example.com/.../Faehrmann.mp4
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 132644864 bytes) in /home/.../p532.php on line 252 

und machte mir klar, dass ich jede Datei lade und verwerfe, nur um die Spiellänge zu bestimmen.

Ich hoffe, das ist unnötig und man kann das schneller erreichen.

Gruß, Linuchs