将视频流式传输到Windows Media Player时,我的http Web服务器面临问题?
我创建了一个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请求和响应 请求:将视频流式传输到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在播放文件时
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的客户端都可以正常工作。如果你不知道它们是干什么用的,我就不留了。