1

我正在尝试用 C++ 编写一个小程序,逐帧转码视频,我正在使用函数 libvlc_video_set_callbacks 和 libvlc_video_set_format_callbacks 来实现这一点。

第一个函数工作正常,但我不确定如何实现 libvlc_video_set_format_callbacks。

我以这种方式尝试过,但它给了我一个“设置”的参数错误:

int setup(void* pUserData, char *chroma, unsigned int *width, unsigned int *height, unsigned int *pitches, unsigned int *lines)
    {
        (void) pUserData;
        return 1;
    }

libvlc_video_set_format_callbacks(mp, setup, cleanup);

接下来是我真的不知道如何设置正确的视频格式属性。

你能帮我解决这个设置功能吗,或者至少给我一个例子来说明如何实现它,因为我没有找到?你可以想象,我不是一个非常有经验的程序员,所以请耐心等待我;)提前谢谢

4

1 回答 1

0

liblv_video_set_format_callbacks第二个参数是 type libvlc_video_format_cb,它是以下 typedef:

typedef unsigned(* libvlc_video_format_cb)(void **opaque, char *chroma, unsigned *width, unsigned *height, unsigned *pitches, unsigned *lines);

我们可以看到您的setup功能有两个不同之处:

  • 第一个参数的类型应该是void**。你的是void*.
  • 返回类型应该是unsigned. 你的是int.

我也不知道视频格式属性。因此,我将无法为您提供任何指示。

于 2013-04-22T13:56:25.890 回答