From 723e57b3bbf45ed808fff3779fbe326cd388a8a2 Mon Sep 17 00:00:00 2001 From: jlecour Date: Mon, 13 Mar 2017 09:02:16 +0100 Subject: [PATCH] =?UTF-8?q?script=20pour=20position=20de=20l'=C3=A9cran?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HowtoEnregistrerPresentation.md | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/HowtoEnregistrerPresentation.md b/HowtoEnregistrerPresentation.md index 47ac39bd..235c16d8 100644 --- a/HowtoEnregistrerPresentation.md +++ b/HowtoEnregistrerPresentation.md @@ -60,7 +60,29 @@ $ ffmpeg […] -video_size 1920x1080 -framerate 30 -f x11grab -i :0.0+1360,0 [ On indique donc une zone de capture de la taille de l'écran externe, décallée de 1360 pixels vers la droite. Sans ce décallage, x11grab capturait à partir du coin haut-gauche de l'écran interne. -Il est possible de générer ces dimensions et positions de manière automatique en utilisant les informations fournies par `i3-msg -t get_outputs` ou plus directement par `xandr` ou `randr` si ça s'avère possible. +Il est possible de générer ces dimensions et positions de manière automatique : + +~~~{.bash} +#!/bin/sh + +screen_name=${1:-HDMI2} + +xrandr_info=$(xrandr | grep ${screen_name}) +screen_state=$(echo ${xrandr_info} | cut -d ' ' -f 2) + +if [[ $screen_state != "connected" ]]; then + echo "Screen ${screen_name} is disconnected" + exit 1 +fi + +screen_geometry=$(echo ${xrandr_info} | cut -d ' ' -f 4) +screen_size=$(echo ${screen_geometry} | cut -d '+' -f 1) +screen_pos_x=$(echo ${screen_geometry} | cut -d '+' -f 2) +screen_pos_y=$(echo ${screen_geometry} | cut -d '+' -f 3) +screen_pos="${screen_pos_x},${screen_pos_y}" + +echo ffmpeg […] -video_size ${screen_size} -framerate 30 -f x11grab -i :0.0+${screen_pos} […] +~~~ #### Encodage