如何使用C程序实时直播视频. HTTP应该回复什么?如果可能的话,如何使用块编码?[英] How to live stream video using C program. What should be the HTTP reply ? How can I use chunked encoding if possible?

本文是小编为大家收集整理的关于如何使用C程序实时直播视频. HTTP应该回复什么?如果可能的话,如何使用块编码?的处理方法,想解了如何使用C程序实时直播视频. HTTP应该回复什么?如果可能的话,如何使用块编码?的问题怎么解决?如何使用C程序实时直播视频. HTTP应该回复什么?如果可能的话,如何使用块编码?问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

(实际的问题是因为我成功地进行了实时流媒体进行了编辑,但是现在我不了解客户端和我的C代码之间的通信.)

好吧,我终于使用了我的C代码实时流媒体.但是我不明白" HTTP"在这里如何工作. 我在链接 http://www.flumotion.com上研究了通信b/w我的浏览器和服务器./demosite/webm/使用Wireshark.

我发现客户首先发送此获取请求

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

对此获得请求服务器通过发送此回复

来响应
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)

但是,但是,但是,我不明白客户为什么需要发送两个请求,以及为什么它在第一个请求上重置并再次在新端口上发送相同的请求,这一次它会听到数据实时流媒体. 我也不知道如何使用块编码来实现流.

详细的详细信息可在此处提供: httpp ://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

请帮助我.预先感谢.

推荐答案

第一个请求仅限于1024字节,以测试流实际上是有效的视频源,而不是说600MB Windows可执行.

本文地址:https://www.itbaoku.cn/post/359128.html