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);

次に、適切なビデオ形式のプロパティを設定する方法がよくわかりません。

この setup-function で私を助けてくれますか、または少なくともそれを実装する方法を示す例を見つけられなかったので教えてください。ご想像のとおり、私は経験豊富なプログラマーではないので、しばらくお待ちください ;) よろしくお願いします

4

1 に答える 1

0

liblv_video_set_format_callbacks2 番目の引数は typelibvlc_video_format_cbであり、次の typedef です。

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

setup関数には 2 つの違いがあります。

  • 最初の引数の型は である必要がありますvoid**。あなたのものですvoid*
  • 戻り値の型は ですunsigned。あなたのものですint

ビデオ形式のプロパティについてもわかりません。したがって、そのための指針を提供することはできません。

于 2013-04-22T13:56:25.890 に答える