FFmpeg를 기반으로 나만의 스크린캐스트 스크립트를 작성하려고 합니다. 시작점의 x, y 좌표와 선택한 영역의 해상도가 필요하기 때문에 화면에 직사각형을 그리고 FFmpeg가 해당 영역의 스크린캐스트만 만들도록 하고 싶습니다. 로 직사각형 영역을 그릴 수 scrot -s
있고, 로 좌표를 얻을 수 있는데 시작 위치의 위치를 xdotool getmouselocation
저장하는 방법을 모르겠습니다 .scrot
내 스크립트는 다음과 같을 것이라고 생각합니다.
scrot -s
- 화면에 직사각형 영역을 그립니다.- 변수에 start_x, start_y 위치를 저장합니다.
ffmpeg -i scrot_screenshot
- 선택한 영역의 해상도를 가져옵니다.ffmpeg -video_size $area_resolution -f x11grab -i :0.0+start_x,start_y screen_capture.mp4
- 스크린캐스트 비디오 만들기
따라서 2개의 솔루션만 필요하고 나머지 스크립트는 제가 직접 수행할 수 있습니다.
물론 다른 scrot
명령을 사용하여 화면의 직사각형 영역을 그릴 수 있지만 지금까지는 적절한 대체 명령을 찾지 못했습니다.
궁극적인 목표는 그러한 스크립트를 만드는 것입니다. 이를 사용 방법에 대한 적절한 문서와 함께 Github 계정에 게시할 것입니다.
답변1
이 시도;
#!/bin/bash
echo click T.L.
echo -ne "\e[?1000h"
while read -srn 6; do
eval "$(xdotool getmouselocation --shell)"
TL=$X,$Y
echo -ne "\e[?1000l"
break
done
sleep 0.5
echo click B.R.
echo -ne "\e[?1000h"
while read -srn 6; do
eval "$(xdotool getmouselocation --shell)"
BR=$X,$Y
echo -ne "\e[?1000l"
break
done
echo "$TL.$BR"
기록하려는 영역에 대해 투명한 용어를 사용하십시오.