Chciałbym użyć ffmpeg do nagrania mojego pulpitu, a także mojego aparatu jako nakładki na pulpicie.Nagrywanie ekranu ffmpeg z nakładką kamery na OSX
Więc w zasadzie będę mieć dwóch źródeł sygnału, które muszą być rejestrowane
$ 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
z powyższego, muszę [0] Kamera FaceTime HD jako nakładkę i [1] Screen Capture 0 jako głównego wideo .
Czy to możliwe?
UPDATE (06.10.2015):
znalazłem następującą komendę 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"
Niestety wyjście ma dość powolny framerate (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
Masz pomysł, jak uzyskać wyższy współczynnik klatek na sekundę? Mój aparat może nagrywać z szybkością 30 klatek na sekundę, ale wydaje się, że dane wyjściowe mają tylko około 9 ramek. Dlaczego różnica?
ffmpeg ma filtr nakładki, więc domyślam się, że tak. – rogerdpack
Tak, po prostu znalazłem, ale wydaje się, że jest wolny. – lockdoc
Witaj lockdoc, którego używa wersja OS X. Używam 10.10.5, a polecenie "ffmpeg -f avfoundation -list_devices true -i" "" wyświetla tylko 1 urządzenie wejściowe (Camera). – TuanAnh207