0

Я создал веб-сервер http, который должен поддерживать потоковое видео в других приложениях. Я столкнулся с проблемой с медиа-плеером Windows при поиске. Windows Media Player падает, когда я ищу в определенном порядке. Кроме этого, он работает нормально.Облицовка проблемы в моем http WebServer при потоковой передаче видео в Windows Media Player?

Шаги, в которых происходит сбой медиа-плеера.

Предположим, что в строке поиска есть 3 точки (скажем, A, B, C).

1) A - начальная позиция видео.

2) Перейти в положение С.

3) Перейти обратно в положение В.

4) Снова перейти обратно в положение C (или любом положении перед положением В). (Это где носитель проигрыватель падает со следующей ошибкой.)

«Проигрыватель Windows Media столкнулся с проблемой во время воспроизведения файла».

При сбое медиа-плеера на моем веб-сервере я не получаю никаких запросов. В противном случае на моей стороне сервера я получаю обычные запросы на поиск (контент-диапазон) http.

Последний запрос Http и ответ обмен с медиаплеера на прыжки в точку Б.

Запрос:

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 

Response:

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 

Благодаря

+0

Благодаря @rdlowrey .. это решить мою проблему. – vijay053

+0

Отлично, я собираюсь опубликовать его в качестве ответа тогда. Пожалуйста, примите это :) – rdlowrey

+0

У меня была такая же проблема: Content-Length был длиннее запрошенного диапазона (как и присылаемые данные) – Zaibot

ответ

4

Эта проблема вероятными результаты от недопустимого заголовка Content-Range в вашем ответе.

Отклик определяет File-Size: 33994175 заголовок, но ваш заголовок Content-Range говорит что-то другое:

Content-Range: bytes 10125312-16437247/16437248 

компонент диапазона после косой черты (/16437248) должен отражать полный размер базового ресурса в байтах. Я подозреваю, что медиаплеер Windows воспринимает это как означающий, что после позиции 16437248 и бочек нет содержимого.

Изменение заголовка в вопросе на следующее должно решить проблему:

Content-Range: bytes 10125312-16437247/33994175 
+0

Я отправляю эти заголовки (TransferMode.DLNA.ORG: Потоковая передача и несколько больше связанных с DLNA) в ответе. Действительно ли они нужны. Потому что, если я их не отправлю, значит, он работает нормально !! – vijay053

+0

@ user1187575 Они не имеют никакого значения в протоколе HTTP, и я не знаком с ними. Любой клиент, который правильно реализует HTTP, должен работать нормально без них. Если вы не знаете, для чего они, я бы не стал их хранить. – rdlowrey

Смежные вопросы