MP4 файл через php не воспроизводится как видео html5 - PullRequest
0 голосов
/ 02 декабря 2011

Я пытаюсь вывести видео файл mp4 через PHP.Когда он используется через флеш-плеер (например, flowplayer), он работает отлично.Но когда я пытаюсь использовать его в качестве источника для видео-тега html5 или для непосредственного вызова php-файла, он не работает.

Я использую следующий код:

        $filesize = filesize($file);
        header("Content-Type: video/mp4");

        if ( empty($_SERVER['HTTP_RANGE']) )
        {
            header("Content-Length: $filesize");
            readfile($file);
        }
        else //violes rfc2616, which requires ignoring  the header if it's invalid
        {   
            rangeDownload($file);
        }

и rangeDownload функция из http://mobiforge.com/developing/story/content-delivery-mobile-devices Приложение А.

Даже когда я использую заголовок Content-Range (Content-Range:bytes 0-31596111/31596112), он зависает при загрузке 30,13 МБ видео,

Ответы [ 2 ]

1 голос
/ 03 декабря 2011

Наконец-то я нашел способ заставить его работать

header("Content-Type: $mediatype");

if ( empty($_SERVER['HTTP_RANGE']) )
{
    header("Content-Length: $filesize");

    $fh = fopen($file, "rb") or die("Could not open file: " .$file);

    # output file
    while(!feof($fh))
    {
         # output file without bandwidth limiting
        echo fread($fh, $filesize);
    }
    fclose($fh);
}
else //violes rfc2616, which requires ignoring  the header if it's invalid
{   
     rangeDownload($file);
}

Он работает по прямой ссылке файла php и внутри видео-тега html5.
Но для того, чтобы работать в Flowplayerи, возможно, в других проигрывателях flash / html5) вам нужно добавить расширение mp4 (например, view.php? id = XXX & file = type.mp4)

0 голосов
/ 02 декабря 2011

Это может быть связано с вашим браузером и тем, какой плагин он использует для просмотра видеофайлов, т. Е.) Quicktime.Причина, по которой он работает с Flash, заключается в том, что flash обрабатывает буферизацию и синхронизацию времени и тому подобное.Обычно не рекомендуется разрешать браузеру обрабатывать файлы мультимедиа, поскольку это полностью зависит от конфигурации браузера и установленных им плагинов.

Некоторые браузеры автоматически загружают файлы мультимедиа, он полностью настраивается браузером и конечным пользователем.

...