From 15c5a94ab4c856ff9062d5945b0c1362c065035e Mon Sep 17 00:00:00 2001 From: Talebian Date: Wed, 15 Apr 2020 10:18:39 +0200 Subject: [PATCH] Script --- spoofcam.sh | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 spoofcam.sh diff --git a/spoofcam.sh b/spoofcam.sh new file mode 100644 index 0000000..ac5057f --- /dev/null +++ b/spoofcam.sh @@ -0,0 +1,68 @@ +#!/usr/bin/env bash + +# +# Non ho responsabilità sulla qualità del codice +# lo script non è mio, mi sono limitato a renderlo +# funzionante +# +# Talebian +# + +recover(){ + rm /dev/video0 + mv /dev/video69 /dev/video0 + exit +} + + +if [[ $EUID -ne 0 ]]; then + echo "This script must be run as root" + exit 1 +fi + +modprobe v4l2loopback exclusive_caps=1 + +trap recover SIGINT + +TMPHOME=$(pwd) + +mv /dev/video0 /dev/video69 #nice + +fakecam=$( v4l2-ctl --list-devices | grep Dummy -A 1 | grep /dev/video | sed 's/\t//g' | sed 's/[/]dev[/]//' ) + +cd /dev +ln -s $fakecam video0 + +cd $TMPHOME + +case $1 in +"pic") + if [ -f $2 ] + then + ffmpeg -loop 1 -re -i $2 -f v4l2 -vcodec rawvideo -pix_fmt yuv420p /dev/video0 + else + echo "File does not exists" + fi;; + +"vid") + if [ -d $2 ] + then + cd $2 + while [ 1 ] + do + for file in *.mp4; do ffmpeg -re -i "$file" -map 0:v -f v4l2 /dev/video0; done + for file in *.mkv; do ffmpeg -re -i "$file" -map 0:v -f v4l2 /dev/video0; done + for file in *.webm; do ffmpeg -re -i "$file" -map 0:v -f v4l2 /dev/video0; done + done + else + echo "Directory does not exists" + fi;; +*) + echo """Usage: +pic +or +vid """;; + +esac + +recover