gpt4 book ai didi

html - 有没有办法在完全加载之前告诉 .ogg 视频的文件大小?

转载 作者:可可西里 更新时间:2023-11-01 13:40:04 25 4
gpt4 key购买 nike

我知道 ogg 视频和 mp4 视频之间的一个区别是 ogg 视频没有描述文件大小的元数据,因此当加载 ogg 视频时,控件无法显示文件完全加载之前的剩余时间.如果 ogg 视频超过几分钟,这可能是个问题。有没有办法在请求页面时获取此文件大小?

(客户端开发人员,提出一个我认为有服务器端答案的问题。如果您能想出更具体的方法,我欢迎对这个问题提出修改建议。)

最佳答案

好吧,虽然不是最直接的,但你可以试试这个。

首先,设置一个.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 文件然后专门发送一个文件大小 header ,以防服务器不自动发送。好吧,这仍然对你没有多大好处,对吧?那么,您可以为视频发出 Ajax 请求并从 HTTP header 中提取文件大小。

希望这对您有所帮助。

关于html - 有没有办法在完全加载之前告诉 .ogg 视频的文件大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5333800/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com