aboutsummaryrefslogtreecommitdiff
path: root/.local/bin/camera-mplayer
diff options
context:
space:
mode:
Diffstat (limited to '.local/bin/camera-mplayer')
-rwxr-xr-x.local/bin/camera-mplayer28
1 files changed, 28 insertions, 0 deletions
diff --git a/.local/bin/camera-mplayer b/.local/bin/camera-mplayer
new file mode 100755
index 0000000..73f592f
--- /dev/null
+++ b/.local/bin/camera-mplayer
@@ -0,0 +1,28 @@
+#!/bin/sh -eu
+
+program=$(basename "$0")
+option=${1:-0@9}
+real=${option%%@*}
+virtual=${option#*@}
+
+{
+ [ "$option" = "help" ] ||
+ [ "$option" = "-help" ] ||
+ [ "$option" = "--help" ]
+} &&
+ printf '%s 0@9\n# /dev/video0 -> /dev/video9\n' "$program" &&
+ exit
+
+{
+ [ "$option" = "kill" ] ||
+ [ "$option" = "-kill" ] ||
+ [ "$option" = "--kill" ]
+} &&
+ killall mplayer &&
+ killall mplayer &&
+ killall ffmpeg &&
+ exit
+
+ffmpeg -i "/dev/video$real" -f v4l2 -vcodec rawvideo -pix_fmt rgb24 "/dev/video$virtual" &
+sleep 2
+mplayer tv:// -tv "driver=v4l2:device=/dev/video$virtual" -fps 15