ASP/VBscript を使用して mp4 ファイルをストリーミングしようとしています。ファイルとADODB.Stream
いくつかのコードを起動して、ユーザーが要求した範囲を検出します。ビデオは正常に読み込まれていますが、シーク バーをクリックしても何も起こりません。私はすべてを設定しAccept-Ranges
、Content-Range
応答Content-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