2012-05-31 4 views

ответ

2

Для этого вам понадобится скрипт serveride, ограниченная поддержка метаданных в объекте <video> - и большинство из них зависят от браузера.

var xhr = new XMLHttpRequest(); 
var q = "?file=http://mediafiles.tld/playme.avi"; 
xhr.open("GET", "/path/to/identify.php" + q, true); 
xhr.send(); 
var videodata = eval("("+xhr.responseText+")"); 

А затем на сервере создайте игрока, который стреляет, как первый кадр здесь, - и ничего не показывает и не воспроизводит аудио. Нижеприведенная функциональность просто запустит связанный кодек и вернет информацию с помощью «-identify». Используя mplayer, сервер должен иметь это настоящее и иметь возможность декодировать фильм/аудио для предоставления достоверных данных.

<?php 

ob_start(); 
system('mplayer -identify -frames 1 -vo null -ao null '.$_GET['file'].' 2>/dev/null|egrep "[A-Z_]+="'); 
$out = ob_get_clean(); 
$data = array(); 
foreach(explode("\n", $out) as $line) { 
    list($k, $v) = explode("=", trim($line)); 
    $data[trim($k)] = trim($v); 
} 
header("Content-Type: application/x-json"); 
header("E-Tag: " . substr(0,16,md5($_GET['file'])); 
print json_encode($data); 

?>