0

我正在使用 Shaka 打包器 SDK(不是默认打包器程序)编写媒体处理应用程序,基本上我将打包器(Shaka::Packager packager;)包装在我编写的包装器应用程序中。

我知道 Shaka::Packager 可以从本地文件、UDP 流或管道等读取输入。现在,我需要让 Shaka::packager 从从包装应用程序传入的内存缓冲区读取媒体输入(所以,包装应用程序会将媒体数据从某个文件加载到内存缓冲区)。我想知道这是否可能。谢谢!

4

1 回答 1

0

您能否更具体地说明您的输入要求?像 Shaka 这样的媒体管道是面向流的,因此请考虑“查看数据一次,执行一些操作,然后丢弃”。

查看 Shaka MemoryFile,我们可以看到后备存储是一个 std::vector,因此所有数据在管道期间都保存在内存中。媒体文件可能会变得很大,我目前正在使用 Tears of Steel 4K:12 分钟的内容需要 7GB。

我看到 Shaka 提供了CallbackFile接口。这看起来像是一个很好的钩子子类来注入你的内存缓冲区。

于 2021-11-26T11:53:37.880 回答