@
jerryjhou 主流编码都可以实时解码的。不是说非得要整个文件才能解码,视频编码后都是按照时间顺序写入文件的,只要有文件的一部分,就能解码播放这部分内容。
流媒体:
http://en.wikipedia.org/wiki/Streaming_mediaProtocols
The audio stream is compressed using an audio codec such as MP3, Vorbis or AAC.
The video stream is compressed using a video codec such as H.264 or VP8.
Encoded audio and video streams are assembled in a container bitstream such as MP4, FLV, WebM, ASF or ISMA.
The bitstream is delivered from a streaming server to a streaming client using a transport protocol, such as MMS or RTP. Newer technologies such as HLS, Microsoft's Smooth Streaming, Adobe's HDS and finally MPEG-DASH have emerged to enable adaptive bitrate streaming over HTTP as an alternative to using proprietary transport protocols.
The streaming client may interact with the streaming server using a control protocol, such as MMS or RTSP.
我感觉你还没明白楼主在说什么问题。
给一个ED2K链接,如何能实现边下边播?
ED2K链接里本身含有文件的Hash,所以先要连接ED2K服务器(比如 TV Underground 等等,用过emule的话应该会熟悉这个服务器列表更新地址
http://ed2k.2x4u.de/index.html ),把Hash提交给服务器后,服务器会返回这个文件的 Peers,然后再连接每个 Peer,接受文件数据块。但是这样接受到的文件块不是从头开始连续的,为了实现边下边播,需要等文件最开头的块下载好一部分之后,交给解码器来解码,这时候视频才能开始播放。但是下载速度如果不够快,顺序解码的时候遇到了还没下完的块时,视频就得卡了,得等待这些块下载好后才能继续解码播放。
你说的相同资源的不同版本,本身它们就是不同的文件,Hash都不一样的,下载一个文件的时候不可能下到另一个文件的数据的。