我正在尝试创建一个视频播放器,可以解密内存中的视频数据并播放它,而无需将解密数据存储在硬盘上。我正在使用Qt框架与视频窗口小部件和QBuffer。我解密了视频的第一段并将其存储在QBuffer中并开始播放。这可以工作但是在调用setCurrentSource之后,所有写入QBuffer的数据都将被忽略。
我认为这与不同的后端有关。是否有可能在Qt(pyQt)中直接从内存中实现播放,如果没有其他选择?
QFile file ("/Users/user/video.mov");
file.open(QIODevice::ReadOnly);
QByteArray array1;
QByteArray array2;
QBuffer *playbackBuffer = new QBuffer();
playbackBuffer->open(QBuffer::ReadWrite);
array1 = file.read(10000000);
array2 = file.read(10000000);
playbackBuffer->write(array1);
videoMedia->setCurrentSource(playbackBuffer);
videoOutput->play();
playbackBuffer->write(array2);