编写视频文件并同时播放
Writing video file and simultaneously playing it
在我有趣的项目中,我正在从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的一些交流有关。
相关文章:
- 如何使用libav编写.mov文件,如果文件未正确完成,则可以播放
- C++新手,想知道如何使用VS code 2019播放音频文件
- 如何添加mp3文件作为资源,然后播放
- 在不打开应用程序的情况下在MinGW c++中播放声音(.wav)文件
- 为什么 XAudio2 仅在系统暂停时播放.wav文件?
- QML多媒体播放文件夹中的所有mp3
- 如何从特定点播放.WAV文件(例如30秒)
- 是否可以使用带有random_shuffle的矢量随机播放音频文件
- 如何使用QT或Linux上的任何其他CPP框架播放WMA音频文件
- 无法使用 PlaySound 在 C++ 中播放音频文件
- MF SinkWriter mp4文件的播放持续时间是添加音频样本时的一半,图像的播放速度也是添加音频样本的两倍
- 当磁盘几乎完整时,使用C 流式播放器复制Linux中的文件也不例外
- 我如何在Linux上的C 中播放.wav文件
- 如何在c ++程序中播放或打开*.mp3或*.wav声音文件?
- 读取文本文件并随机播放
- 在 Edge 和 Safari 中播放带有SDL_mixer.ogg文件(emscripten)
- 如何在QT中播放视频文件
- 在C 中使用SFML.尝试在循环中播放WAV文件,但仅播放第一秒钟左右
- 在NACL中播放MP3文件
- 根据播放器位置更新文件中的描述