ffmpeg には入力形式オプションがあり、x11grab
指定した領域をキャプチャしてファイル/ストリームに出力できます。私はプログラムで同じことをしようとしていますが、ffmpeg API の非基本的なチュートリアル/リファレンスは見つかりませんでした。
どうすれば avformat_input_file などで x11 リージョンを開くことができるのでしょうか。または、XCopyArea/etc で行う必要がありますか?
(どのプログラミング言語でも満足できます)
スクリーンショットを撮るアプリケーションはたくさんあります。主なヒント:オープンソースです。ソースを使用してください。ffmpegでコードが見つからない場合は、どのサンプルアプリケーションでも次のことができます。
http://git.gnome.org/browse/gnome-screenshot/tree/src/screenshot-utils.c#n425
これはgnome-screenshotのソースコードです。この例では、gdk_get_default_root_window()を使用しています。