Ну, хотя не самый прямой, вы можете попробовать это.
Во-первых, настройте .htaccess для прозрачного захвата всех видео .ogv и обработки их с помощью PHP
.htaccess
RewriteEngine On
RewriteRule ^(.*)\.ogv$ ogv.php?file=$1
ogv.php
<?php
$file = $_GET['file'] . '.ogv';
while ( strpos($file, '..') !== false )
{
$file = str_replace('..', '', $file);
}
$filesize = filesize($file);
header("Content-Type: video/ogg");
header("Content-Transfer-Encoding: binary");
header("Content-Length: {$filesize}");
readfile($file);
exit()
?>
HTML:
<video src="video.ogv" id="video" controls></video>
<script>
var video_src = document.getElementById('video').src;
var xhr = new XMLHttpRequest();
xhr.open('GET', video_src, false);
xhr.send(null);
var size = xhr.getResponseHeader('Content-Length');
alert(size);
</script>
Итак, вот как работает эта система. Просто создайте ссылку на видео .ogv, как обычно, но файл .htaccess сначала захватывает запрос и отправляет его в ogv.php. Затем PHP-файл специально отправляет заголовок размера файла, если сервер этого не делает автоматически. Хорошо, это все еще не очень хорошо, верно? Итак, вы можете сделать запрос Ajax для видео и извлечь размер файла из заголовков HTTP.
Надеюсь, это поможет.