Возникла проблема в моем http WebServer при потоковой передаче видео в Windows Media Player?

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

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

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

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

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

3) Вернитесь в положение B.

4) Снова вернитесь в положение C(или в любое положение впереди положения B).(Здесь происходит сбой медиаплеера со следующей ошибкой.)

Msgstr "Проигрыватель Windows Media обнаружил проблему при воспроизведении файла".

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

Последний Http-запрос и ответ обменивались с медиаплеером при переходе к точке B.

Запрос:

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

Отклик:

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

Спасибо

1 ответ

Решение

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

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

Content-Range: bytes 10125312-16437247/16437248

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

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

Content-Range: bytes 10125312-16437247/33994175
Другие вопросы по тегам