编写视频文件并同时播放

Writing video file and simultaneously playing it

本文关键字:播放 文件 视频      更新时间:2023-10-16

在我有趣的项目中,我正在从youtube下载视频文件,并将其写入本地磁盘上的文件。同时我也想玩它。目的是将文件缓存在本地磁盘上,这样当我想再次看到视频时,应用程序可以在本地播放,从而节省带宽。

我使用的是Python 3.3.1, PyQt4/Phonon和LibVLC。到目前为止,我能够做以下事情:

  • 给定一个youtube 观看 url,我可以下载视频文件和然后使用PyQt4/Phonon和LibVLC独立播放它。它不是

  • 由于LibVLC支持流媒体,所以我可以通过流媒体播放给定的url。

第二个非常接近我想要做的,但由于它不将文件保存在磁盘上,下次我不能在本地播放相同的视频。

我正在寻找一些关于如何从这里开始的指导方针。特别是,如何从仍在写入的不完整文件中播放视频。

我完全可以接受任何API(完成这项工作),只要它是:

  • Python 3.3.1(优选)
  • C
  • c++

如果我目前的方法不正确或使问题比实际更困难,我也在寻找替代方法。

VLC支持播放不完整的文件,所以如果您需要一些非阻塞I/O和/或并行代码,您应该能够开始下载,并在编写了足够的数量后,使用LibVLC开始播放。根据使用的压缩算法,您可能需要足够的缓冲区,以便缓冲区中总是有几秒钟的数据剩余——如果我没记错的话,一些更现代的算法记录了向前和向后的增量和索引信息。

你可能会得到一些警告/错误消息/异常,但我不会认为它们是致命的——让播放质量作为你的指导!

这与上面评论中的一些建议有些相似,也与@abarnert所说的很多内容有关,在较小程度上与@StackedCrooked的一些交流有关。