2

C または Cpp を使用して Linux で画面をキャプチャするプログラムを探しています。誰かが私を助けることができるスケルトン構造またはプログラムを与えるのを手伝ってくれますか?

ありがとうございます。

4

1 に答える 1

2

ffmpeg で画面をキャプチャする方法:

x11grab デバイスを使用します。

ffmpeg -f x11grab -r 25 -s 1024x768 -i :0.0+100,200 output.flv

これにより、デスクトップから画像が取得され、左上隅 (x=100, y=200) から始まり、幅と高さが 1024x768 になります。

オーディオも必要な場合は、次のように alsa を使用できます。

ffmpeg -f x11grab -r 25 -s 1024x768 -i :0.0+100,200 -f alsa -ac 2 -i pulse output.flv

したがって、これを単純に配置してcapture.sh、コードから実行できます。

#include <cstdlib>

int main(){ std::system("./capture.sh"); }

外部ユーティリティを呼び出さずに実行する必要がある場合は、libffmpeg を直接使用できます。

于 2013-06-05T06:42:33.547 に答える