как использовать Content_type, video / mp2t в ответе http? - PullRequest
0 голосов
/ 04 декабря 2010

Я готовлю ответ на запрос http для отправки видео и получения ошибки: Broken Pipe

 if self.path.endswith(".ts"):  
     f = open("filename.ts", 'r')
     self.send_response(200)
     self.send_header('Content-Type', "video/mp2t")
     self.end_headers()
     self.wfile.write(f.read())
     return

Тот же самый ответ ниже работает нормально.

 if self.path.endswith(".mov"):  
            f = open("filename.mov", 'r')
            self.send_response(200)
            self.send_header('Content-Type', "video/mpeg")
            self.end_headers()
            self.wfile.write(f.read())
            return

Я подозреваю, что это связано с проблемой mimetype.Может кто-нибудь предложить мне, как я могу использовать видео / mp2t с baseHttpServer ??

Ответы [ 2 ]

1 голос
/ 04 декабря 2010

Хорошо, я попробую.«Сломанный канал» на стороне сервера обычно означает, что клиент закрывает соединение, пока сервер все еще отправляет данные.Исходя из вашего предыдущего вопроса, я предполагаю, что ваш клиент является браузером (используя тег <video>).Скорее всего, это означает, что браузер не поддерживает воспроизведение транспортных потоков MPEG.На самом деле я не слышал ни о каком браузере, который бы его поддерживал.

Может быть, вам следует попробовать потоковое видео Ogg Theora (MIME-тип "video / theora") для тестирования - Firefox 3.1+ поддерживает это из коробки,Если это работает, ваша реализация сервера верна.

0 голосов
/ 06 декабря 2010

В контексте mpeg2ts клиент (Quicktime в браузере) запрашивает определенные байтовые диапазоны в нескольких запросах GET.подготовка ответа в соответствии с запрошенными байтовыми диапазонами устранила проблему.

...