Graba la pantalla, audio y cámara, increíble.
#!/bin/bash
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
AUDIO_FILE="$HOME/audio_${TIMESTAMP}.wav"
VIDEO_FILE="$HOME/recording_${TIMESTAMP}.mp4"
OUTPUT_FILE="$HOME/final_${TIMESTAMP}.mp4"
MPLAYER_PID=""
ARECORD_PID=""
cleanup() {
[ -n "$MPLAYER_PID" ] && kill "$MPLAYER_PID" 2>/dev/null
[ -n "$ARECORD_PID" ] && kill "$ARECORD_PID" 2>/dev/null
wait 2>/dev/null
if [ -f "$AUDIO_FILE" ] && [ -f "$VIDEO_FILE" ]; then
ffmpeg -i "$VIDEO_FILE" -i "$AUDIO_FILE" -c:v copy -c:a aac -shortest "$OUTPUT_FILE" -y
rm -rf "$AUDIO_FILE" "$VIDEO_FILE"
fi
exit 0
}
trap 'cleanup' EXIT INT TERM
mplayer -vo fbdev2 -tv driver=v4l2:device=/dev/video0:width=120:height=140 tv:// -vf "scale=320:240" -zoom -geometry 90%:90% &
MPLAYER_PID=$!
arecord -f cd -t wav "$AUDIO_FILE" &
ARECORD_PID=$!
sudo LIBVA_DRIVER_NAME=i965 ffmpeg -f kmsgrab -framerate 30 -device /dev/dri/card1 -i - -vaapi_device /dev/dri/renderD128 -vf 'hwmap=derive_device=vaapi,scale_vaapi=w=1366:h=768:format=nv12' -c:v h264_vaapi -global_quality 25 "$VIDEO_FILE" -y