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"
記録する領域に透明な用語を使用します。