gpt4 book ai didi

java - 通过 http 将视频流式传输到 Windows Media Player

转载 作者:行者123 更新时间:2023-12-02 08:12:20 24 4
gpt4 key购买 nike

尝试从 servlet 将视频流式传输到 Windows Media Player(渐进式下载样式)。流式传输工作正常,但我有一些奇怪的行为,我想排除这不是由我的实现中的问题引起的。

当使用 WMP 从 servlet 打开 URL 时,WMP 将对同一资源总共执行 4 个 http-get 请求,但每次的 header 略有不同。前 3 个请求的连接似乎在请求(包括 header )发送后立即关闭。第四个请求保持连接,我实际上可以传递响应 header 和文件内容。

已尝试使用wireshark来监视前三个请求。所有 4 个请求都发送相同的响应开始,前 3 个请求成功发送响应 header 以及关闭之前的部分文件内容。 (不知道它是否相关,但必须启用“支持从支持 IP TSO 的硬件捕获数据包”,wireshark 才能正确解析流,否则包含 http 响应的第一个数据包将被视为格式错误。)

下面的 4 个请求 header :

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

响应 header :

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)

最佳答案

The connection for the first 3 requests seems to be closed as soon as the request (including headers) have been sent.

“似乎是”?在继续之前,我会找出某种方法或方法。如果在设置响应 header 后结束连接,则可能是玩家期望出现非常特定的 header 。示例可能包括 Range:Cache-Control:

关于java - 通过 http 将视频流式传输到 Windows Media Player,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3893381/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com