#!/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