编写视频文件并同时播放

时间:2013-05-12 10:41:38

标签: c++ python c video-streaming libvlc

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

我正在使用Python 3.3.1PyQt4/PhononLibVLC。到目前为止,我能够做到以下几点:

  • 鉴于youtube watch 网址,我可以下载视频文件,然后使用PyQt4 / Phonon和LibVLC独立播放。它不是流媒体

  • 由于LibVLC支持流式传输,我可以通过流媒体播放给定的网址。

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

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

我完全可以使用任何API(完成工作),只要它是:

  • Python 3.3.1(最好)
  • C
  • C ++。

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

1 个答案:

答案 0 :(得分:1)

VLC支持播放不完整的文件,因此,如果您需要一些非阻塞的I / O和/或并行代码,您应该可以开始下载并在写入足够的数量后使用LibVLC开始播放。根据使用的压缩算法,您可能需要缓冲,以便缓冲区中始终有数秒的数据 - 如果我没记错的话,一些更现代的算法会记录前进和后退的增量和索引信息。 / p>

您可能会收到一些警告/错误消息/例外,但我不认为它们是致命的 - 让播放质量成为您的指导!

这有点类似于上述评论中的一些建议,也与@abarnert所说的很多内容有关,在较小程度上与@StackedCrooked交换了一些。