2015-09-30 25 views
7

ffmpegを使用して、自分のデスクトップとカメラをデスクトップの上にオーバーレイとして記録します。OSXでカメラオーバーレイを使用したffmpeg画面の録画

だから、基本的に私は、以上のことから

$ ffmpeg -f avfoundation -list_devices true -i '' 
[AVFoundation input device @ 0x7fded1c223e0] AVFoundation video devices: 
[AVFoundation input device @ 0x7fded1c223e0] [0] FaceTime HD Camera 
[AVFoundation input device @ 0x7fded1c223e0] [1] Capture screen 0 
[AVFoundation input device @ 0x7fded1c223e0] AVFoundation audio devices: 
[AVFoundation input device @ 0x7fded1c223e0] [0] Built-in Microphone 

を記録する必要がある2つの入力ソースを持って、私は、メインのビデオなどのオーバーレイと、[1]のキャプチャ画面0として[0]のFaceTime HDカメラが必要。

これも可能ですか?

UPDATE(2015年10月6日):

私はffscreencastから次のコマンドを見つけました:

ffmpeg \ 
-f avfoundation -i "1" \ 
-f avfoundation -r 30 -video_size 640x480 -i "0" \ 
-c:v libx264 -crf 0 -preset ultrafast \ 
-filter_complex 'overlay=main_w-overlay_w-10:main_h-overlay_h-10' "out.mkv" 

残念ながら、出力はかなり遅いフレームレート(i7のMacBook Proの2014)

を持っています
Output #0, matroska, to 'out.mkv': 
    Metadata: 
encoder   : Lavf56.40.101 
Stream #0:0: Video: h264 (libx264) (H264/0x34363248), yuv420p, 3840x2400, q=-1--1, 1000k fps, 1k tbn, 1000k tbc (default) 
Metadata: 
    encoder   : Lavc56.60.100 libx264 
Stream mapping: 
    Stream #0:0 (rawvideo) -> overlay:main 
    Stream #1:0 (rawvideo) -> overlay:overlay 
    overlay -> Stream #0:0 (libx264) 

frame= 756 fps=9.1 q=-1.0 Lsize= 193660kB time=00:01:21.86 bitrate=19378.5kbits/s 
Press [q] to stop, [?] for help 

誰でももっと高いフレームレートを得る方法はありますか? 私のカメラは毎秒30フレームしか記録できませんが、出力には約9フレームしかないようです。なぜ違い?この作品私にとって

+0

ffmpegにはオーバーレイフィルタが付いているので、私はそうだと思います。 – rogerdpack

+0

はい私はそれを見つけましたが、まだ遅いようです。 – lockdoc

+0

こんにちはlockdoc、どのOS Xバージョンuを使用しています。私は10.10.5を使用しており、コマンド "ffmpeg -f avfoundation -list_devices true -i" 'は1つの入力デバイス(カメラ)のみを表示します。 – TuanAnh207

答えて

9

、ffmpegのバージョン2.8:

ffmpeg -thread_queue_size 50 \ 
-f avfoundation -framerate 30 -i "1" \ 
-thread_queue_size 50 -f avfoundation -framerate 30 -video_size 640x480 -i "0" \ 
-c:v libx264 -crf 18 -preset ultrafast \ 
-filter_complex 'overlay=main_w-overlay_w-10:main_h-overlay_h-10' -r 30 ~/Desktop/out.mkv 

注:私はあなたが間違った場所にそれを持っているので、「-r」オプションは出力用でドキュメントを読み込むあなたコマンド。ドキュメンテーションで18の値が視覚的にロスレスなビデオであると表示された場合、 '-crf'の値は誇張して表示されます。おそらく、特定のシステムの '-thread_queue_size'値で遊ぶ必要があります。

+0

ありがとう、これは役に立ちました。 – baltasvejas

+0

これは正常に機能しました。感謝フェリペ。 – muammar

関連する問題