Как транслировать потоковое видео с помощью программы на языке Си.Каким должен быть ответ HTTP?Как я могу использовать chunked-кодировку, если это возможно? - PullRequest
2 голосов
/ 01 марта 2011

(фактический вопрос был отредактирован, потому что я успешно выполнял потоковую трансляцию, НО СЕЙЧАС Я НЕ ПОНИМАЮ КОММУНИКАЦИЮ между клиентом и моим C-кодом.)

Хорошо, я наконец-то выполнил живую трансляцию с использованием C-кода,Но я не мог понять, как "HTTP" работает здесь.Я изучил связь ч / б моего браузера и сервера по ссылке http://www.flumotion.com/demosite/webm/ с помощью wireshark.

Я обнаружил, что клиент сначала отправляет этот запрос GET

GET /ahiasfhsasfsafsgfg.webm HTTP/1.1
Host: localhost
Connection: keep-alive
Referer: file:///home/anirudh/Desktop/anitom.html
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/534.13 (KHTML, like Gecko) Chrome/9.0.597.98 Safari/534.13
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Range: bytes=0-1024

нана этот запрос get сервер отвечает отправкой этого ответа

HTTP/1.0 200 OK
Date: Tue, 01 Mar 2011 06:14:58 GMT
Connection: close
Cache-control: private
Content-type: video/webm
Server: FlumotionHTTPServer/0.7.0.1

, а затем сервер отправляет данные, пока клиент не отключится.Клиент отключается, когда получает определенный объем данных.КЛИЕНТ затем подключается к серверу на новый порт, и тот же запрос GET отправляется на сервер.Сервер снова дает тот же ответ, но на этот раз клиент не отключается, а постоянно читает пакеты, пока сервер не отключится.Я написал код C, в котором у меня есть сокет сервера, который повторяет вышеупомянутое поведение.(благодаря wireshark, flumotion и stackoverflow)

НО, НО, я не мог понять, почему клиенту нужно отправить два запроса и почему он сбрасывается при первом запросе и снова отправляет тот же запрос по новомупорт и на этот раз он слушает данные, как будто он получает потоковую передачу.Также я не знаю, как я могу транслировать поток с использованием чанкованного кодирования.

То же самое подробно доступно здесь: http://systemsdaemon.blogspot.com/2011/03/live-streaming-video-tutorial-for.html

и здесь http://systemsdaemon.blogspot.com/2011/03/http-streaming-video-using-program-in-c.html

ПожалуйстаПомоги мне.Заранее спасибо.

1 Ответ

0 голосов
/ 18 марта 2011

Первый запрос ограничен 1024 байтами, чтобы проверить, что поток действительно является допустимым источником видео, а не 600-МБ исполняемым файлом Windows.

...