利用HTTP协议进行视频播放的疑惑

zijian0818 2013-05-30 02:05:59
在windows上运行一个server,在苹果手机上运行client,利用该客户端通过http协议来和server通信获取视频流。

通过抓包,发现client发送的http头部有个:Range: bytes=0-1;然后服务器响应头部:Content-Range: bytes 0-1/filesize;

再接着client:Range: bytes=0-(filesize-1);服务器响应:Content-Range: bytes 0-(filesize-1)/filesize;

再后来client:Range: bytes=196608-393215;服务器响应:Content-Range: bytes 196608-393215/filesize(以上filesize为文件实际大小)

我的疑惑是,在第二次交互时,服务器真的要把整个文件都发送给客户端吗?我在验证的时候发现如果只读取一部分数据给客户端,二者的连接就中断了!但是总觉得把整个文件都发送出去不现实啊!

请教网络方面的高手答疑解惑!不胜感激!
...全文
1273 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zijian0818 2013-05-31
  • 打赏
  • 举报
回复
经过一下午的实验,有了如下结果:即使客服端要求那么多数据,但是主动权在服务器,它可根据需要决定传送多少数据!比如client:Range: bytes=0-(filesize-1);服务器可以这样响应:Content-Range: bytes 0-1024/1025; 这样一来client会不停的请求数据,client:Range: bytes=1025-(filesize-1) ;server:Content-Range: bytes 1025-2048/1025 ...... PS:用的是get来请求数据
nossiac 2013-05-30
  • 打赏
  • 举报
回复
关键看用的是什么方法。 如果是HEAD,则只发个HTTP报头,没有数据。通常用这个方法来取得服务器上文件的相关信息,比如文件长度。 如果是GET,服务器就要真的发数据了……
H264编码器标准草案发布时,很多人都觉得H.264太复杂,不宜实用。眨眼间3年过去了,以往的论断、疑惑被如今的现实冲洗的干干净净。一张7.92G的1小时50分的av,分辨720*480,用Ahead dvd ripper,现在用最新的ffdshow h264编码(4线程,码率1500k),需要1小时10分左右。cpu吃不完,占用率在50%左右。 采用H.264编码,将视频文件压缩转换为MP4/3GP/F4V/AVI格式.绿色软件,使用方便,压缩速度快,图像质量好. 本软件使用Windows系统注册解码器进行视频解码.Windows Media Player能够播放视频格式,本软件都可以进行压缩.对于不支持的视频格式,可以安装解码包,如ffdshow, 影音风暴等. H264编码器功能: 1、四路视频实时预览,也可利用Web界面对多路直播信号远程集中管理进行配置管理, 2、领先的码率控制技术(CBR/VBR),使其能轻松运作于280Kbps~ 6000Kbps之间。 3、可变的GOP结构:I,IP,IBP,IBBP。 4、PCM音频信道。 5、指纹式植入的视频流的音频处理技术,使得视音频实时同步。 6、支持输出文件格式:FLV,MPEG-4,MPEG-2及HTTP,RTSP,UDP网络协议。 7、支持VBR及CBR压缩方式。 8、支持多种分辨率:FULL,D1等; 9、可将录制FLV格式文件再转换为MP4格式文件进行存储; 10、支持自动录制和手工录制; 11、能设定自动录制计划,时间设定为某月某周某日时分秒,自动进行录制; 12、每路直播信号,能设定不同时段的定时任务; 13、可设定录制文件保存路径; 14、支持网络存储,如NASNAS SAN等网络环境。 H264编码器截图:

4,386

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧