0

我对python很陌生。我编写了一个程序,它使用 libtorrent 通过 torrent 下载视频文件。我已将其设置为顺序下载,因此所有部分都以正确的顺序下载,以便在下载视频时观看该视频。我得到的问题是该文件在下载开始后无法立即播放。有时应该下载 10mb,有时 30mb 才能开始视频查看。我的想法是,这是因为缺少一些元数据。我的问题是关于检查文件是否可以播放的方法。关于实现这一目标的任何建议?我已经搜索了很多,但还没有找到任何东西。我正在使用 python 2.7(2.7 因为它与 libtorrent 兼容)、libtorrent、kivy 框架 1.8 和内置视频播放器,据我所知,它使用 gstreamer。https://github.com/dpitkevics/stream-ies?files=1 重要文件是 main.py, lib/downloader.py 提前谢谢你们:)

4

1 回答 1

1

我建议使用元数据提取工具,例如Hachoir。如果该工具能够成功读取元数据,则该文件很可能是好的。但是-您不一定要在那时开始播放。你也需要缓冲。元数据将为您提供内容长度;通过种子文件的大小和下载速度,您可以计算出需要多少缓冲区才能确保无缝播放。如果您正确缓冲,并且容器中的流是交错的,这应该确保您始终拥有开始播放所需的数据。

于 2015-02-17T18:20:48.517 回答