视频突然看不了 为什么有的视频下载了一点就能播放 - 帝国资讯网
当前位置: 首页 > 网络热贴 > 正文
2017-10-21 01:03:14 作者:大师 手机看新闻

视频突然看不了 为什么有的视频下载了一点就能播放

[提要] 著作权归作者所有,转载请联系作者获得授权。 因为一般下载/文件共享/分享软件是不会有这个选项的(即使有也不会默认开启这个选项的) P2P下载是把整个文件分成几M,几M的小文件去下载,而且...
著作权归作者所有,转载请联系作者获得授权。

因为一般下载/文件共享/分享软件是不会有这个选项的(即使有也不会默认开启这个选项的)
P2P下载是把整个文件分成几M,几M的小文件去下载,而且肯定不是按顺序下载的,你如果得不到播放必须的文件部分就不能播放,有时候运气不好,可能一直下载不到播放必须的文件部分。
在P2P网络里,文件的不同部分下载速度是很不一样的。为了下载速度,下载工具会优先下载,当时下载速度最快的部分,下载速度不那么快的部分,就等等看能不能找到速度更快的资源。
====以下可以跳过不看=====
/已知的用户(DHT,KAD)询问:我要下载XXXX文件,请问谁有?他们会告诉你:1、我有文件XX部分,可以给你,2、我没有,但是我知道谁有,3、我没有,但我可以告诉你我有哪些认识的人,你可以问他们。)
====以上可以跳过不看=====
而不同为文件封装格式播放所需的必须部分,存放的位置是不一样的,有些比较古老的格式,比如AVI就没太考虑这个,关键数据全放在开头和结尾。MP4就先进的多,他只放了少量信息在开头,剩下的被分成一个个小部分,每个部分都包含此部分必须信息+视音频。这样你只需要下载一个很小的开头+任意一个完整的小部分,就可以播放你下载到的这一小部分了。

举个例子吧:

AVI
如果你最开始的这部分没有下载完毕,电脑根本不知道中间的数据块部分该如何处理。
如果你最后的这部分没有下载完毕,电脑根本不知道中间的数据块应该如何排列那个在前哪个在后,什么块是什么东西。
如果运气不佳可能下到99%你都在下载数据块,信息快索引块还没下完整。

MP4:

所以你会发现,在线播放时进度条不是整根都能拖动的,进度条被分成若干段。有些区域是已经下好的,可以直接播放,有些还没下载,需要缓冲。

正式开始前先对文件的几个重要部分宏观介绍一下,以便诸位在后续学习时心中有数:

1、  ftypbox,在文件的开始位置,描述的文件的版本、兼容协议等;

2、  moovbox,这个box中不包含具体媒体数据,但包含本文件中所有媒体数据的宏观描述信息,moov box下有mvhd和trak box。

        >>mvhd中记录了创建时间、修改时间、时间度量标尺、可播放时长等信息。

        >>trak中的一系列子box描述了每个媒体轨道的具体信息。

3、  moofbox,这个box是视频分片的描述信息。并不是MP4文件必须的部分,但在我们常见的可在线播放的MP4格式文件中(例如Silverlight Smooth Streaming中的ismv文件)确是重中之重。

4、  mdatbox,实际媒体数据。我们最终解码播放的数据都在这里面。

5、  mfrabox,一般在文件末尾,媒体的索引文件,可通过查询直接定位所需时间点的媒体数据。

标签