2
如何使用html5視頻播放器獲取視頻或當前幀的幀速率?在javascript中獲取視頻的幀速率
如何使用html5視頻播放器獲取視頻或當前幀的幀速率?在javascript中獲取視頻的幀速率
您需要一個服務器端腳本,對於<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);
?>