WCF Rest Отправка MP4 MPD

Я пытаюсь создать службу WCF для отправки видеопотока с использованием DASH и MPD. Я застрял при отправке файла MP4. На Wirewhark мой файл отправляется как протокол http и тип мультимедиа video / mp4, но когда я использую ссылку других людей, протокол - MP4. Я скопировал все заголовки и использую MemoryStream для передачи файла.

Вот что я пытаюсь скопировать.

введите описание изображения здесь

Вот моя текущая копия  введите описание изображения здесь Андрей


person Andrew    schedule 11.12.2018    source источник
comment
http имеет специальные символы, которые будут в двоичных данных. Итак, вам нужно использовать Convert.ToBase64String (byte [] Array); который ftp использует в двоичном режиме.   -  person jdweng    schedule 11.12.2018
comment
Похоже, это не имело никакого значения.   -  person Andrew    schedule 11.12.2018
comment
Находится ли протокол MP4 в заголовках http или в заголовке двоичного файла mp4? Работает служба http 1.0 или 1.1? Какой статус вы получаете в ответе (200 Готово)?   -  person jdweng    schedule 11.12.2018
comment
Я добавил изображения pcap. Вы можете видеть, что мой возвращаемый тип мультимедиа - видео / mp4, где изображение, которое я пытаюсь скопировать, - MP4.   -  person Andrew    schedule 11.12.2018
comment
Тип мультимедиа находится в файле MP4, а не в HTTP-запросе. Я не думаю, что поэтому он терпит неудачу. Как видите, это режим фрагментов (http 1.1). Вероятно, это сбой, потому что ответ запрашивает следующий фрагмент, а ваш код не отправляет следующий фрагмент, поэтому время ожидания истекло. Мне никогда не удавалось успешно работать в режиме фрагментов в сетевой библиотеке. Обычно я использую режим принудительного потока запросов 1.0, поэтому мне не нужно отправлять сообщение следующего фрагмента.   -  person jdweng    schedule 12.12.2018
comment
Попробуйте следующее: HttpWebRequest request = (HttpWebRequest) WebRequest.Create (filename); request.ProtocolVersion = HttpVersion.Version10;   -  person jdweng    schedule 12.12.2018
comment
Код выдает ошибку. Может быть, потому что я в WCF. Я изменил привязку на буферизованную, и теперь фрагменты были удалены. Видео по-прежнему не воспроизводится. Я думаю, что главное - получить протокол в mp4.   -  person Andrew    schedule 12.12.2018
comment
Это тип файла МДФ. Файл MDF является двоичным. Методы, которые работают, используют ли они GZIP? Двоичный файл необходимо закодировать, поскольку в http есть специальные символы, которые могут быть в двоичных данных.   -  person jdweng    schedule 12.12.2018
comment
См. stackoverflow.com/questions/839888/   -  person jdweng    schedule 12.12.2018
comment
Хорошо, вы правы. Файл, который я отправлял, был mp2t, но как только я изменил формат видео, был отправлен правильный mp4. Похоже, моя проблема заключалась в том, что файл MPF имел неправильный кодек.   -  person Andrew    schedule 12.12.2018