J'utilise ffmpeg pour enregistrer une fenêtre en utilisant ce code:
ffmpeg.exe
-f dshow
-y
-i video="screen-capture-recorder":audio="virtual-audio-capturer":audio="Microphone (USB Audio Device)"
-framerate 15
-vcodec libx264
-crf 0
-preset ultrafast
-acodec pcm_s16le
-vf crop=Width:Height:Left:Top
output.flv
Mais le problème est que je pourrais déplacer la fenêtre, cela conduit à enregistrer une zone sans la fenêtre que je veux.
Comment puis-je capturer une fenêtre spécifique que je suis capable de déplacer?
Edit: J'ai également utilisé gdigrab
pour capturer ma fenêtre (Skype
par exemple) au lieu de dshow
:
ffmpeg.exe
-y
-f dshow
-i audio="virtual-audio-capturer":audio="Microphone (USB Audio Device)"
-f gdigrab
-draw_mouse 0
-i title="Skype"
-framerate 30
-vcodec libx264
-crf 0
-preset ultrafast
-acodec pcm_s16le
output.flv
Mais la conférence est noire ...
Il a mentionné dans ici :
Par défaut, il capture le "plein écran" du moniteur principal du bureau (Toutes les fenêtres se chevauchant à partir de là, avec aero si Vista +, sans Fenêtres transparentes si non aéro).
Pour le configurer différemment, exécutez les "utilitaires/raccourcis de configuration de configuration " Ou ajustez les paramètres du registre avant de lancer une exécution (Utilisateurs avancés uniquement):
HKEY_CURRENT_USER\Software\screen-capture-recorder
respectant les clés DWORD de start_XXX, etc.… (voir le fichier inclus {rép_install}\configuration_setup_utility\setup_screen_tracker_params.rb pour obtenir la liste complète des valeurs de clé de registre disponibles ou voir https://github.com/rdp/screen-capture-recorder-to-video-windows-free/blob/master/configuration_setup_utility/setup_screen_tracker_params.rb#L9 [.____.))
ex: voir le fichier configuration_setup_utility\incoming.reg (bien que NB que ces valeurs soient en hexadécimal, donc éditer ce fichier est un peu fastidieux-- I utilise toujours juste regedit ou les utilitaires de script qui l’accompagnent et ne l’éditez pas à la main).
Pour "réinitialiser" une valeur, effacez sa clé.
Et vous pouvez voir dans ici qu'il existe ces options de registre:
Cet exemple fonctionne pour moi:
ffmpeg -f gdigrab -framerate 30 -i title="german.avi - VLC media player" -b:v 3M germ.flv
où "titre" signifie le titre réel d'une fenêtre cible.
J'espère que cela aidera.
ffmpeg -rtbufsize 1500M -f dshow -i audio = "virtual-audio-capturer" -f gdigrab -framerate 30 -draw_mouse 1 -i title = RecordWindow -pix_fmt yuv420p -profile: v baseline -y Huangbaohua.mp4
recordWindow est le titre d'une fenêtre spécifiée.