Frage

würde Ich mag Lage sein, Audio-Dateien in MP3-on the fly auf den Benutzer-Browser zu konvertieren. Die Software Ich benutze ist: Apache, PHP & FFMPEG auf einem Ubuntu-System. Hier ist der Code Ich habe so weit:

<?php
     header("Content-Transfer-Encoding: binary");
     header("Content-Type: audio/mpeg, audio/x-mpeg, audio/x-mpeg-3, audio/mpeg3");

     passthru('ffmpeg -i song.flac -v 0 -ab 320k -f mp3 -');
?>

Mit diesem Code wird nur die ersten paar Sekunden des Audio umgewandelt werden, aber wenn ich die Header-Funktionen aus kommentieren ist die Audiodatei vollständig umgesetzt, aber alle binären Daten werden an den Bildschirm durchlaufen (statt gewickelt von in dem Browser-mP3-Player).

Alle Gedanken?

War es hilfreich?

Lösung

Nun, ich fount die Antwort. Sie müssen die Größe des Ausgabestrom berechnen und gibt die folgenden Header (vor der Audio-Stream-Ausgabe):

header("Content-Length: {$calculatedFileSize}"); 
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top