2015-09-30 21 views
7
üzerinde

Fotoğraf makinenizin yanı sıra masaüstümde masaüstümde bir yer paylaşımı olarak ffmpeg kullanmak istiyorum.ffmpeg ekran kaydı, OSX

Böylece temelde Yukarıdan

$ 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 

kaydedildi gereken iki giriş kaynaklarına sahip olacağını ben ana video olarak bir bindirme ve [1] Yakalama ekranında 0 olarak [0] FaceTime HD Kamera ihtiyaç .

Bu mümkün mü?

GÜNCELLEME (2015/10/06):

ben ffscreencast aşağıdaki komutu bulundu:

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" 

Maalesef çıkış oldukça yavaş kare hızına (i7 Macbook Pro 2014)

sahiptir
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 

Daha yüksek bir çerçeveleme elde etme fikri olan var mı? Fotoğraf makinem yalnızca saniyede 30 kare kayıt yapabilir, ancak çıktının yalnızca yaklaşık 9 karesi var gibi görünüyor. Neden farkı? Bu işleri Benim için

+0

ffmpeg'in bir overlay filtresi var, bu yüzden tahmin ediyorum. – rogerdpack

+0

Evet, sadece buldum, ama hala yavaş görünüyor. – lockdoc

+0

Merhaba lockdoc, hangi OS X sürümü kullanıyorsunuz. 10.10.5 kullanıyorum ve "ffmpeg -f avfoundation -list_devices true -i ''" komutu sadece 1 giriş aygıtı (Kamera) gösteriyor. – TuanAnh207

cevap

9

, ffmpeg sürüm 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 

NOT: i yanlış yere ona sahip böylece '-r' seçeneği çıkışı içindir belgelerinde okumak senin komut. Verdiğiniz belgelerin 18 değeri görsel olarak kayıpsız bir video olduğunu belirtirse, verdiğiniz '-crf' değeri abartılı görünüyor. Ayrıca, belirli sisteminiz için '-thread_queue_size' değeriyle oynamanız da gerekecektir.

+0

Teşekkürler, bu yardımcı oldu. – baltasvejas

+0

Bu iyi çalıştı. Teşekkürler Felipe. – muammar