将视频流式传输到Windows Media Player时,我的http Web服务器面临问题?

将视频流式传输到Windows Media Player时,我的http Web服务器面临问题?,http,video-streaming,windows-media-player,http-content-range,Http,Video Streaming,Windows Media Player,Http Content Range,我创建了一个http Web服务器,它需要支持将视频流传输到其他应用程序。 我在查找时遇到windows media player的问题。当我以特定方式搜索时,Windows media player崩溃。除此之外,它运行良好 媒体播放器崩溃的步骤 假设搜索栏上有3个点(例如A、B、C) 1) A是视频的起始位置 2) 跳到C位置 3) 跳回B位置 4) 再次跳回到位置C(或位置B之前的任何位置)。(这是媒体播放器因以下错误而崩溃的地方。) “Windows Media Player在播放文件时

我创建了一个http Web服务器,它需要支持将视频流传输到其他应用程序。 我在查找时遇到windows media player的问题。当我以特定方式搜索时,Windows media player崩溃。除此之外,它运行良好

媒体播放器崩溃的步骤

假设搜索栏上有3个点(例如A、B、C)

1) A是视频的起始位置

2) 跳到C位置

3) 跳回B位置

4) 再次跳回到位置C(或位置B之前的任何位置)。(这是媒体播放器因以下错误而崩溃的地方。)

“Windows Media Player在播放文件时遇到问题”

当媒体播放器崩溃时,我的web服务器上没有收到任何请求。 否则,在服务器端,我会收到正常的seek(内容范围)http请求

跳到B点时与媒体播放器交换的最后一个Http请求和响应

请求:

GET XXXXXXXXXXXXXXXXXXXXXXXXX HTTP/1.1
Connection: keep-alive
Cache-Control: no-cache
Pragma: getIfoFileURI.dlna.org
Accept: */*
Range: bytes=10125312-16437247
User-Agent: NSPlayer/12.00.7601.17514 WMFSDK/12.00.7601.17514
GetContentFeatures.DLNA.ORG: 1
TransferMode.DLNA.ORG: Streaming
Host: localhost:16716
答复:

HTTP/1.1 206 Partial Content
Date: Fri, 08 Mar 2013 11:41:54 GMT
Content-Type: video/mp4
Access-Control-Allow-Origin: *
Connection: keep-alive
TransferMode.DLNA.ORG: Streaming
File-Size: 33994175
Accept-Ranges: bytes
Content-Range: bytes 10125312-16437247/16437248
Content-Length: 6311936

谢谢

此问题可能是由于您的响应中的
内容范围
标题无效造成的

响应指定了一个
文件大小:33994175
标题,但您的
内容范围
标题表示不同的内容:

Content-Range: bytes 10125312-16437247/16437248
斜杠(
/16437248
)后面的范围组件应以字节为单位反映基础资源的完整大小。我怀疑windows media player认为这意味着在
16437248
位置和borks之后没有内容

将相关标题更改为以下内容应可解决此问题:

Content-Range: bytes 10125312-16437247/33994175

此问题可能是由于响应中的
内容范围
标题无效所致

响应指定了一个
文件大小:33994175
标题,但您的
内容范围
标题表示不同的内容:

Content-Range: bytes 10125312-16437247/16437248
斜杠(
/16437248
)后面的范围组件应以字节为单位反映基础资源的完整大小。我怀疑windows media player认为这意味着在
16437248
位置和borks之后没有内容

将相关标题更改为以下内容应可解决此问题:

Content-Range: bytes 10125312-16437247/33994175

谢谢@rdlowrey。。它解决了我的问题。太好了,那我就把它作为答案贴出来。请接受:)我也有同样的问题:内容长度比请求的范围长(发送的数据也是如此),谢谢@rdlowrey。。它解决了我的问题。太好了,那我就把它作为答案贴出来。请接受它:)我有一些相同的问题:内容长度比请求的范围长(发送的数据也是如此),我在响应中发送这些标题(TransferMode.DLNA.ORG:Streaming和一些与DLNA相关的标题)。他们真的需要吗。因为如果我不发送它们,那么它也可以正常工作@user1187575它们在HTTP协议中没有任何意义,我对它们不熟悉。没有HTTP,任何正确实现HTTP的客户端都可以正常工作。如果你不知道它们是干什么用的,我就不麻烦保存它们了。我在回复中发送了这些标题(TransferMode.DLNA.ORG:Streaming和一些与DLNA相关的标题)。他们真的需要吗。因为如果我不发送它们,那么它也可以正常工作@user1187575它们在HTTP协议中没有任何意义,我对它们不熟悉。没有HTTP,任何正确实现HTTP的客户端都可以正常工作。如果你不知道它们是干什么用的,我就不留了。