0

我正在尝试使用 ASP/VBscript 流式传输 mp4 文件。我用ADODB.Stream午餐文件和一些代码来检测用户请求的范围。视频已成功加载,但单击搜索栏没有任何反应。我已经设置了 all Accept-RangesContent-RangeContent-Length在响应标头中:

HTML 代码:

<video controls>
<source src="video.asp">
</video>

视频.asp

filename ="test.mp4"

Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Type = 1
objStream.Open
objStream.LoadFromFile(server.mappath(filename))
sizebyte=objStream.size

Response.ContentType = "video/mp4"
Response.AddHeader "Accept-Ranges", "0-" & sizebyte

'Checking if user requested a range (by clicking on seekbar)

if Request.ServerVariables("HTTP_RANGE")<>"" then
    'Cleaning startbyte from (bytes=) and (-)
    startbyte=replace(Request.ServerVariables("HTTP_RANGE"),"-","")
    startbyte=replace(startbyte,"bytes=","")

    Response.AddHeader "Content-Range", "bytes " & startbyte & "-" & sizebyte-1 & "/" & sizebyte
    response.AddHeader "Content-Length", (int(sizebyte) - int(startbyte))
else
    response.AddHeader "Content-Length", sizebyte
end if

do while not objStream.EOS
    response.binarywrite objStream.Read(1024000)
    Response.Flush
loop

objStream.Close
Set objStream = Nothing
Response.StatusCode = 206
4

0 回答 0