Question

I would like to be able to convert audio files to MP3 to the users browser on the fly. The software I am using is: Apache, PHP & FFMPEG on an ubuntu system. Here is the code I have so far:

<?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 -');
?>

With this code, only the first few seconds of the audio are converted, however, when I comment out the header functions, the audio file is completely converted but all binary data is passed through to the screen (instead of wrapped in the browsers mp3 player).

Any thoughts?

Was it helpful?

Solution

Well i fount the answer. You have to calculate the output stream's size and output the following header (before the audio stream output):

header("Content-Length: {$calculatedFileSize}"); 
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top