试图将视频从servlet流式传输到Windows媒体播放器(渐进式下载样式)。流媒体工作,但我有一些奇怪的行为,我想排除不是由我的实施中的问题引起的。通过HTTP将视频流式传输到Windows Media Player(
当使用WMP打开从servlet的URL,WMP将进行总共4 HTTP-GET请求对同一资源,但略有不同的页眉各一次。前三个请求的连接似乎在请求(包括头文件)发送后立即关闭。第四个请求保持连接,我可以实际提供响应标题和文件内容。
在使用Wireshark来观看前三请求尝试。所有4个请求都会发送相同的响应启动,并且前3个请求会在关闭之前设法发送响应标头和文件内容的某些部分。 (不知道是不是它的相关性,但必须启用“启用从TSO-IP硬件支持数据包捕获”为Wireshark来正确地解析流,否则包含HTTP响应的第一个数据包被视为格式不正确。)
下面这里的4个请求报头:
GET /basic/test.mpg HTTP/1.1
Accept: */*
User-Agent: Windows-Media-Player/12.0.7600.16415
Accept-Encoding: gzip, deflate
Host: 192.168.1.34
Connection: Keep-Alive
GET /basic/test.mpg HTTP/1.1
Cache-Control: no-cache
Connection: Keep-Alive
Pragma: getIfoFileURI.dlna.org
Accept: */*
User-Agent: NSPlayer/12.00.7600.16385 WMFSDK/12.00.7600.16385
GetContentFeatures.DLNA.ORG: 1
Host: 192.168.1.34
GET /basic/test.mpg HTTP/1.1
Accept: */*
User-Agent: NSPlayer/12.00.7600.16385 WMFSDK/12.00.7600.16385
Icy-Metadata: 1
Accept-Encoding: gzip, deflate
Host: 192.168.1.34
Connection: Keep-Alive
GET /basic/test.mpg HTTP/1.1
Cache-Control: no-cache
Connection: Keep-Alive
Pragma: getIfoFileURI.dlna.org
Accept: */*
User-Agent: NSPlayer/12.00.7600.16385 WMFSDK/12.00.7600.16385
GetContentFeatures.DLNA.ORG: 1
Host: 192.168.1.34
响应头:
HTTP/1.1 200 OK
Content-Type: video/mpeg
Content-Length: 130549760
ETag: TEST1286565215430
ContentFeatures.DLNA.ORG: DLNA.ORG_PN=MPEG_PS_PAL;DLNA.ORG_OP=00
Server: Jetty(6.1.x)