Как стать автором
Обновить

Комментарии 35

И где же онлайн-демо?
Спасибо за ссылки!
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
В FF12 через флеш работает.
НЛО прилетело и опубликовало эту надпись здесь
в linux тоже
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Кнопка fullscreen не работает, Ubuntu 12.04, Opera 11.62
НЛО прилетело и опубликовало эту надпись здесь
Win7 x64, Opera 11.64 не работает фулскрин…
ubuntu 11.10 ff, всё работает.
Простите меня, неразумного, но зачем там jQuery? Это пишется на «гольном» html+JS+CSS.
Требование MediaElement.js. А так — действительно, все делается на голом HTML5+JS+CSS3.

Я, например, больше не понял зачем использовались картинки в цсс, когда все можно отрисовать без них. Простые же элементы.
P.S. F12. Никакого плеера не нашел: по ссылке просто картинка. При щелчке на ней играет видео во все окно браузера. Безо всяких «контролов».
Понял причину: нет там никакого html5. Плеер — на флеше. Просто сделали по-хитрому: если флеша нет, дается простая ссылка на файл.
Ubuntu 12.04. Chromium 18.0.1025.151 (Сборка для разработчиков). Just it work!
Хотелось бы все-таки узнать у автора, почему он запихал сюда точный перевод статьи, не потрудившись проверить, правдива ли содержащаяся в ней информация…
в Google Chrome 19.0.1084.46 все кнопки управления, во весь экран, громкость, перематывается куда надо, никаких задержек, все отлично работает
Mozilla Firefox 12.0 точно так же
Даже в IE 9 никаких проблем с этим проигрывателем нету

Так что поверьте, потрудился все проверить перед переводом
Отключите flash и проверьте!
вот:
Вполне правдива.
Все платформы, ессно, не оттестируешь, но везде, где я проверял — работает. Даже без флеша, даже на html5:)
Некрофил :D
На маках тоже работает? Определяет самостоятельно, какой код подключать?
А как прикрутить сие к смарти?
а какие форматы видео поддерживает?
Хороший пример, спасибо! Как раз начинаю в новом проекте с видео работать =)
А толку? В Chrome есть проблемы с aspect ratio. Для нормальной работы в браузерах не на движке WebKit нужно создавать еще копию в OGG формате. Пока HTML5 video далек от того, чтобы применять его в проектах. Максимум — видео для ипада.
Я правильно понял что MediaElement в новых браузерах будет показывать кино даже если флеш плагин не установлен?
Данный пример не показывает. Я вот выше побухтел-побухтел, а потом таки успокоился и вспомнил, что FF не поддерживает mp4.
Возможно, именно поэтому пример автора и не работает в огнелисе. А в хромом работает (но через задницу flash).

В общем, все-таки, похоже на то, что если с умом подходить к форматам файлов (т.е. не какие-то идиотские форматы, не поддерживаемые браузерами, выкладывать, а theora или webM), то у всех этот плеер будет работать.
НЛО прилетело и опубликовало эту надпись здесь
У меня в Opera 11.61, Safari 5.1.7, Chrome 19.0.1084.46 и FF 12.0 все прекрасно запустилось и работает, а вот с IE 9 интересное творится, в 32 разрядной версии не запускается, но в 64 разрядной все просто летает.

Ещё в пхп прикрутил следующий скрипт:
$file = 'cars.mp4';
$fp = @fopen($file, 'rb');

$size   = filesize($file); // File size
$length = $size;           // Content length
$start  = 0;               // Start byte
$end    = $size - 1;       // End byte

header('Content-type: video/mp4');
header("Accept-Ranges: 0-$length");
//header("Accept-Ranges: bytes");
if (isset($_SERVER['HTTP_RANGE'])) {

    $c_start = $start;
    $c_end   = $end;

    list(, $range) = explode('=', $_SERVER['HTTP_RANGE'], 2);
    if (strpos($range, ',') !== false) {
        header('HTTP/1.1 416 Requested Range Not Satisfiable');
        header("Content-Range: bytes $start-$end/$size");
        exit;
    }
    if ($range == '-') {
        $c_start = $size - substr($range, 1);
    }else{
        $range  = explode('-', $range);
        $c_start = $range[0];
        $c_end   = (isset($range[1]) && is_numeric($range[1])) ? $range[1] : $size;
    }
    $c_end = ($c_end > $end) ? $end : $c_end;
    if ($c_start > $c_end || $c_start > $size - 1 || $c_end >= $size) {
        header('HTTP/1.1 416 Requested Range Not Satisfiable');
        header("Content-Range: bytes $start-$end/$size");
        exit;
    }
    $start  = $c_start;
    $end    = $c_end;
    $length = $end - $start + 1;
    fseek($fp, $start);
    header('HTTP/1.1 206 Partial Content');
}
header("Content-Range: bytes $start-$end/$size");
header("Content-Length: ".$length);


$buffer = 1024 * 8;
while(!feof($fp) && ($p = ftell($fp)) <= $end) {

    if ($p + $buffer > $end) {
        $buffer = $end - $p + 1;
    }
    set_time_limit(0);
    echo fread($fp, $buffer);
    flush();
}

fclose($fp);
exit();

Теперь можно проверить авторизацию пользователя и выдать необходимое видео.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории