Screen capture linuxra + auto stop

Fórumok

Sziasztok

Olyan screen capture programot keresek, amivel be tudom állítani, hogy itt egy videó tartalom ebben az ablakban, vegye fel és 30 perc múlva álljon le.

Sok jó programot találtam, de olyat egyikben sem, hogy x idő után magától leáll.

Ha CLI-ben megszólítható, nekem úgy is jó, sleep parancs után leállítom.

Köszönöm!

Hozzászólások

Az OBS mintha tudna ilyet (output timer?), de mar reg nem foglalkoztam vele.

Ha SIGTERM-et küldesz valamelyiknek, az nem jó?

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Megfordult a fejemben, de nem akartam ennyire kockás lenni.
Hsz-edre azért futottam egy kört és az egyik legjobb megoldás ez lett.
A vokoscreen progit felraktam, ami cli-ben írja, hogy milyen ffmpeg sort futtat + ki lehet vele választani területet, aminek koordinátáit a cli sorba illeszti.
Ezt + netes példákat felhasználva úgy tűnik, hogy lett egy jó eredmény.

#!/bin/bash

# mikor alljon le a felvetel
echo "perc"
read perc
echo "masodperc"
read masodperc
time=$(echo "$perc*60+$masodperc" | bc)

A="$(pacmd list-sources | grep -PB 1 "analog.*monitor>" | head -n 1 | perl -pe 's/.* //g')" # belső hangcsatornáról vegye a hangot
F="$(date --iso-8601=minutes | perl -pe 's/[^0-9]+//g').mp4" # egyedi fájlnév
#V="$(xdpyinfo | grep dimensions | perl -pe 's/.* ([0-9]+x[0-9]+) .*/$1/g')" # képernyő felbontás érzékelése, ha teljes képernyő kell
V="1123x635" # nekem fix ablak kell
V2=":0+253,263" #ezekkel az eltolt értékekkel

/usr/bin/ffmpeg -report -f x11grab -framerate 20 -video_size "$V" -i "$V2" -f pulse -i "$A" -f pulse -i default -filter_complex amerge -ac 2 -t "$time"  \
-pix_fmt yuv420p -c:v libx264 -preset veryfast  -c:a aac -b:a 128k -ar 44100  -q:v 1 -s "$V" -f mp4 /home/user/"$F"

Ha van jobb javaslat, fogadom.

Akár egy értelmes one-pass, two-pass megoldásra is nyitott vagyok.
Próbáltam azzal az iránnyal, de nagyon beszaggatós, lassú felvételem lett, pedig erős i5-8365U CPU-val mentem neki + NVMe. Tuti nem a vas, inkább valami kapcsolót rontottam el.