При запросе второго видеопотока в Chrome вместо него воспроизводится первое видео - PullRequest
0 голосов
/ 07 мая 2018

Разработано приложение в .NET Core для потоковой передачи видео контента. Прекрасно работает с элементом видео html5, функцией 206 частичных пакетов (можно искать правильно). После того, как я пытаюсь передать новое видео, Chrome продолжает воспроизводить первое видео.

У меня нет этой проблемы в IE или Firefox, и, честно говоря, в прошлом году она работала нормально в Chrome. Я подозреваю, что они недавно что-то изменили в Chrome?

Кроме того, при обновлении страницы мягким, жестким или со сбросом кэша все равно будет воспроизводиться только 1-е видео. Только при открытии новой вкладки Chrome он, кажется, «сбрасывается» и позволяет мне воспроизводить второе видео и наоборот.

Во время воспроизведения «неправильного» 1-го видео, если я загружаю напрямую через значок проигрывателя Chrome HTML5 в правом нижнем углу, оно загружает правильное 2-е видео, которое еще более странно!

Вот больше информации:

  • Chrome - последняя версия 66.0
    • Когда я пытаюсь транслировать 2-е видео, 206 частичных пакетов, поступающих через сеть, являются данными для 2-го видео, поэтому я могу подтвердить, что сервер отправляет 2-е видео
    • Эта проблема НЕ возникает, если во время воспроизведения 1-го видео отправляется второй пакет 206 (как, пока я не ищу). Если я не ищите, я могу перейти между 1-м и 2-м видео без проблем. Как только запрашивается второй пакет 206, кажется, что chrome сгибается при вставке с первым видео только во время воспроизведения.
    • Существует только 1 тег видео плеера, но я могу выбирать / выбирать видео из списка. Я играю только одно видео за раз.

1 Ответ

0 голосов
/ 09 мая 2018

FIXED. Вот что вызвало проблему:

Мой запрос на видео был GET to / Download? Uid = 12345, который, в свою очередь, выполняет перенаправление на / GetItem (12345 будет храниться в cookie).

Последующие запросы к частичным 206 пакетам также будут GET / GetItem. Прочитал, перепробовал все в книге и понял, что Google Chrome, возможно, должен видеть разные URL-адреса для каждого нового запроса , или он будет воспроизводить старый кэшированный поток.

РЕШЕНИЕ:

Я изменил свое перенаправление на / GetItem? Uid = someRandomNumber (который изменяется каждый раз, когда вызывается это действие), и теперь видео будет воспроизводиться правильно, когда я нажимаю между ними.

...