我正在使用Shaka packager SDK (不是默认的packager程序)编写一个媒体处理应用程序,基本上我将packager (Shaka::Packager packager;)包装在我编写的包装器应用程序中。
我知道Shaka::Packager可以从本地文件、UDP流或管道等读取输入。现在,我需要让Shaka::packager从从包装器应用程序传入的内存缓冲区读取媒体输入(因此,包装器应用程序会将媒体数据从某个文件加载到内存缓冲区)。我想知道这是否可能。谢谢!
发布于 2021-11-26 11:53:38
您能更具体地说明您的输入要求吗?像Shaka这样的媒体管道是面向流的,所以可以考虑“只看一次数据,执行一些操作,丢弃”。
通过查看Shaka向量,我们可以看到后备存储是std::MemoryFile,因此所有数据在管道期间都保存在内存中。媒体文件可能会变得相当大,我目前正在处理钢铁4K的泪水: 12分钟的内容有7 7GB。
我看到Shaka提供了CallbackFile接口。这看起来像是一个很好的钩子类来注入内存缓冲区。
https://stackoverflow.com/questions/69270420
复制相似问题