2016-02-07 12 views
1


перекодировать файл с помощью специального водяного знака будет downlaoded пользователя
Я хотел бы быть в состоянии начать downlaod когда FFmpeg закодировать файл.Как начать загрузку, когда файл обработка с помощью программного обеспечения

У меня есть PHP-страницу, которая одна создать марку воды, запустить FFmpeg и начать загрузку с X-sendifle
Загрузка не началась, добавив сон (15) Давайте загрузки начать только я получаю только то, сделано

на самом деле я использую Apache2 в качестве веб-сервера с X-SendFile мод

ответ

1

Хорошо, я, наконец, найти, как сделать
Использование X-SendFile это неверное представление
Использование mp4 это неправильно идея, потому что в конце от кодирования программное обеспечение переписывает 4 байта в начале файла

Так это код, который я использую для иметь возможность отправить файл как WebM или FLV файлы, когда FFmpeg закодировать выход

shell_exec('ffmpeg command'); 
sleep(2); //wait few second for the software start 
$foutput ="where/is/your/output.file"; 
header('Content-Disposition: attachment; file.name.for.the.user"'); 
header("Keep-Alive:timeout=200, max=500"); 
//sending by chunk 
set_time_limit(3600); 
$file =fopen($foutput , 'r'); 
$files = fstat($file); 
$filesize= $files['size']; 
$last = 0; 
echo fread($file , $filesize); 
sleep(5); //wait a little for the software add new bytes 
$last = $filesize; 
$files = fstat($file); 
$filesize= $files['size']; 
$done =0; 
while($done < 2){ 
    if ($filesize != $last){ 
     fseek($file , $last); 
     $read = $filesize - $last ; 
     echo fread($file , $read); 
     $last =$filesize; 
     sleep(5); 
     $files = fstat($file); 
     $filesize= $files['size']; 
    }else{ 
     fclose($file); 
     return 0; 
    }; 
}; 

Я нуб для кодирования и есть проблемы с моим «временем «просто работа кода действительно хороша без каких-либо проблем.
Не используйте размер файла, эта команда не нравится, когда размер файла изменяется все время и возвращается только 4096 в этом случае
Загрузка будет медленной, это нормально, вы получаете кусок на куске, что сделало программное обеспечение с помощью ffmpeg, передача составляет от 200 до 1200 кб/с

 Смежные вопросы

  • Нет связанных вопросов^_^