web-dev-qa-db-ja.com

ffmpegでWindows画面をキャプチャする

ffmpeg は、ビデオ/オーディオを処理したりストリーミングしたりするためのクロスプラットフォームで非常に強力なソフトウェアです。 Linuxでは、ffmpegは以下のコマンドでX11画面をキャプチャできます。

ffmpeg -f x11grab -r 25 -s cif -i :0.0 out.mpeg

しかし、ffmpegでWindowsデスクトップを取得することは可能ですか?

37
kamae

次のように built-in GDI screengrabber (インストール不要)を使用します。

ffmpeg -f gdigrab -framerate 10 -i desktop [output]

これにより、すべてのディスプレイが1つの大きな連続したディスプレイとしてキャプチャされます。

特定の地域に限定し、取得するエリアを表示する場合:

ffmpeg -f gdigrab -framerate ntsc -offset_x 10 -offset_y 20 -video_size 640x480 \
-show_region 1 -i desktop [output]

「Calculator」という名前のウィンドウの内容を取得するには:

ffmpeg -f gdigrab -framerate 25 -i title=Calculator [output]

フレームレート10はスクリーンキャプチャに適していることがわかりました(変更できます)。

ファイルとストリーミング出力の両方にエンコードしましたが、非常にうまく機能します。

52
frustrated

これは、Windowsで作業画面をキャプチャするのに役立ちます。

ffmpeg -y -rtbufsize 100M -f gdigrab -t 00:00:30 -framerate 30 -probesize 10M -draw_mouse 1 -i desktop -c:v libx264 -r 30 -preset ultrafast -tune zerolatency -crf 25 -pix_fmt yuv420p c: /video_comapre2.mp4

6
M. D. P

*このコードはWindowsで正常に試行されますXP Sp3およびffmpeg(Windowsの場合は最新バージョン28/12/2012)-アクセスするには、ffmpeg.exeをc:\ windows\system32ディレクトリにコピーする必要がありますPCのどこからでも)ScreenCaptureは無料でダウンロードできます(google)。それをインストールします(msiファイル)。 (ScreenCapture.axファイル)から自動的に登録されます。 IscrenCapture.hファイルとともに送信されます。

-スクリーンビデオとオーディオのキャプチャ(デバイスのオーディオの調整はRealTek AC97オーディオです)UscreenCaptureのパラメーターをレジストリにインストールできません(IscrenCapture.hファイルでも試してみました)。常に完全なscrenキャプチャのみを提供します。レジストリの場所、パラメーターの種類(dwordsは作成者によって指定されていますが、reg_binaryがインストールされています)にエラーがあります...次に、crop()ffmpeg関数を使用して画面上の任意の領域をキャプチャします。コマンドラインは次のとおりです。

xwidthxheightは、キャプチャする領域の幅と高さです。 xleftxtopは、長方形キャプチャの左上の点の座標です。

ffmpeg -f dshow -i video="UScreenCapture":audio="Realtek AC97 Audio" -vf crop=xwidth:xheight:xleft:xtop c:\output.flv

ビデオのみをキャプチャするために使用できます

ffmpeg -f dshow -i video="UScreenCapture" -vf  crop=xwidth:xheight:xleft:xtop c:\output.flv

NB:x11grabはWindows上では動作しません(Linux/X11専用です)。wscript.Shellを使用して、静かに行コマンドをコーディングできます。私は最高のレンダリングと小さな容量を持っているので、flvとしてフォーマットビデオ出力を使用しました。私はmp4で成功しません。

ffmpegでメディアデバイスを知ることができます。

ffmpeg -list_devices true -f dshow -i dummy

-このコマンドラインを使用して、PCから任意のサウンドを録音できます(使用しているデバイスを調整します)。

ffmpeg -f dshow -i audio="Realtek AC97 Audio" -acodec libmp3lame "c:\out.mp3"
6
Ybenam

http://nerdlogger.com/2011/11/03/stream-your-windows-desktop-using-ffmpeg/

その方法を説明します。

基本的に、uscreencapture dshow filterをインストールしてから、ffmpeg -f dshow -i video = "UScreenCapture" out.mp4をインストールします。

2
somejerk

これを実装するパッチは、しばらく前に ffmpegメーリングリスト に送信されました。これはgdigrabを実装して、x11grab

また、 ffmpeg codec page は「VfW」(Video for Windows?別名DirectShow?)キャプチャがサポートされています。

2

これはlinuxの以下のコマンドを使用してx11grab/xcbgrab/gdigrabを使用せずに実行できます。

ビデオを録画するには、

 ffmpeg -f x11grab  -s 1366x768 -i :0.0 -r 25 -vcodec libx264  output.mkv

フレームを記録するには、

./ffmpeg -f fbdev -framerate 1 -i /dev/fb1 -frames:v 1 screenshot3.jpeg
0
Atita Halemani