5

mpv 播放器是旧 MPlayer 的一个分支。它可以构建为库,并具有将视频帧渲染到许多视频输出的 API,例如 OpenGL 表面、Direct3D、SDL 等。我正在尝试在我当前的项目中使用这个库来解码来自云的 flv 流。

但是我找不到将解码的视频帧直接渲染到用户空间分配的内存缓冲区的方法。出于特定原因,我需要此选项,并且上面列出的接口不适合我的任务。我还需要一个回调,它将在每一帧被解码并写入内存后调用。

有没有办法使用来自libmpv/client.h的标准 mpv API 来实现此功能?如果没有,如何编写简单的视频输出驱动程序并将指向自定义内存的指针传递给它?

我已经在我的任务中使用了 libVLC,它具有清晰的界面来为我的需要设置一些回调,但不幸的是,libVLC 2.x 包含在从云播放视频流期间出现灰帧伪影的错误。

4

0 回答 0