ASP.NET和HTML5视频播放时间

| 下午好,stackoverflow! 目前,我正在处理一个处理程序,以将视频从数据库提供给将使用HTML5进行显示的控件。使用Response.OutputStream.Write确实可以工作,但是,Firefox 4.0和Chrome中的视频播放器似乎无法确定视频的持续时间。 Firefox的计数器会随着播放时间的增加而增加,而Chrome显示的是完全随机的时间。 我需要设置一些标头才能使其正常工作吗?我已将content-length设置为字节数,我认为这是正确的值。 HTML标记     
<video controls=\"controls\" poster=\"<%= ImageURL %>\" width=\"<%= Width %>\" height=\"<%= Height %>\" preload=\"preload\">
    <source src=\"<%= MP4URL %>\" type=\'video/mp4; codecs=\"avc1.42E01E,mp4a.40.2\"\'/>
    <source src=\"<%= OggURL %>\" type=\'video/ogg; codecs=\"theora,vorbis\"\'/>
    <img alt=\"<%= ImageAlt %>\" src=\"<%= ImageURL %>\" width=\"<%= Width %>\" height=\"<%= Height %>\" title=\"No video playback capabilities, please download the video below\" />
</video>
</div>
视频处理程序代码
        // Snip -- Company specific DB code

        // Set the correct headers
        context.Response.AppendHeader(\"content-length\", video.Length.ToString());

        // Set the content type
        switch (extensionType.ToLower())
        {
            case \"ogv\":
                contentType = \"video/ogg\";
                break;

            case \"mp4\":
                contentType = \"video/mp4\";
                break;

            default:
                contentType = \"\";
                break;
        }
        context.Response.ContentType = contentType;
        context.Response.Charset = String.Empty;
        context.Response.Buffer = false;


        // Write the video to the stream
        context.Response.OutputStream.Write(video, 0, video.Length);

        // Close the repsonse
        context.Response.Close();
        context.Response.End();
任何帮助,将不胜感激。     
已邀请:
因此,经过两年的努力,我们决定再看看视频处理程序。从那以后,一位蓬勃发展的年轻学徒与我们成为了专职开发人员,解决了这个问题。 事实证明,您需要在响应的标题中添加更多信息。我们缺少Content-Range标头,它看起来像这样:bytes_from-bytes_to / bytes_total。 Content-Length标头需要具有发送回的块的大小,而不是文件的总大小。最后,您需要使用206(部分)而不是200(确定)的代码进行响应。 完成此操作后,一切便开始正常运行。我们做了更多的工作以有效地将文件分割成漂亮的块,而不是一次又一次地从数据库加载整个文件。     

要回复问题请先登录注册