请求 Chrome 中的第二个视频流播放第一个视频
Requesting second video stream in Chrome plays the first video instead
在 .NET Core 中开发了一个应用程序来流式传输视频内容。与html5视频元素配合使用,206部分数据包功能(可以正确搜索)。一旦我尝试流式传输一个新的不同视频,Chrome 仍然播放第一个视频。
我在 IE 或 Firefox 中没有这个问题,坦率地说,去年在 Chrome 中工作正常。我怀疑他们最近在 Chrome 中改变了什么?
此外,软刷新、硬刷新或重置缓存仍将仅播放第一个视频。只有打开一个新的 chrome 选项卡才能 "reset" 并允许我播放第二个视频,反之亦然。
当 "incorrect" 第一个视频正在播放时,如果我直接通过右下角的 Chrome HTML5 播放器图标下载,它会下载正确的第二个视频,这是均匀的更奇怪!
这里有更多信息:
- Chrome 是最新版本 66.0
- 当我尝试流式传输第二个视频时,通过网络传输的 206 个部分数据包是第二个视频的数据,因此我可以
确认服务器正在发送第二个视频
- 如果在播放第一个视频期间发送了第二个 206 数据包(如,只要我不寻找),就不会出现此问题。如果我
不要寻找,我可以毫无问题地在第一个和第二个视频之间切换。一旦请求了第二个 206 数据包,chrome 似乎一心只在播放期间坚持使用第一个视频。
- 只有 1 个视频播放器标签,但我可以 pick/choose 个列表中的视频。我一次只播放一个视频。
已修复。这是导致问题的原因:
我对视频的请求是 GET 到 /Download?uid=12345,它又重定向到 /GetItem(12345 将存储在 cookie 中)。
对部分 206 数据包的后续请求也将 GET /GetItem。读了一些书,尝试了书中的所有内容,并意识到 Google Chrome 可能需要为每个新请求 查看 不同的 URL,或者它将播放较旧的缓存流。
解决方案:
我将重定向更改为 /GetItem?uid=someRandomNumber(每次调用此操作时都会更改),现在,当我在每个视频之间单击时,视频将正确流式传输。
在 .NET Core 中开发了一个应用程序来流式传输视频内容。与html5视频元素配合使用,206部分数据包功能(可以正确搜索)。一旦我尝试流式传输一个新的不同视频,Chrome 仍然播放第一个视频。
我在 IE 或 Firefox 中没有这个问题,坦率地说,去年在 Chrome 中工作正常。我怀疑他们最近在 Chrome 中改变了什么?
此外,软刷新、硬刷新或重置缓存仍将仅播放第一个视频。只有打开一个新的 chrome 选项卡才能 "reset" 并允许我播放第二个视频,反之亦然。
当 "incorrect" 第一个视频正在播放时,如果我直接通过右下角的 Chrome HTML5 播放器图标下载,它会下载正确的第二个视频,这是均匀的更奇怪!
这里有更多信息:
- Chrome 是最新版本 66.0
- 当我尝试流式传输第二个视频时,通过网络传输的 206 个部分数据包是第二个视频的数据,因此我可以 确认服务器正在发送第二个视频
- 如果在播放第一个视频期间发送了第二个 206 数据包(如,只要我不寻找),就不会出现此问题。如果我 不要寻找,我可以毫无问题地在第一个和第二个视频之间切换。一旦请求了第二个 206 数据包,chrome 似乎一心只在播放期间坚持使用第一个视频。
- 只有 1 个视频播放器标签,但我可以 pick/choose 个列表中的视频。我一次只播放一个视频。
已修复。这是导致问题的原因:
我对视频的请求是 GET 到 /Download?uid=12345,它又重定向到 /GetItem(12345 将存储在 cookie 中)。
对部分 206 数据包的后续请求也将 GET /GetItem。读了一些书,尝试了书中的所有内容,并意识到 Google Chrome 可能需要为每个新请求 查看 不同的 URL,或者它将播放较旧的缓存流。
解决方案:
我将重定向更改为 /GetItem?uid=someRandomNumber(每次调用此操作时都会更改),现在,当我在每个视频之间单击时,视频将正确流式传输。