's'
This commit is contained in:
53
d2ypp2/obs.sh
Normal file
53
d2ypp2/obs.sh
Normal file
@@ -0,0 +1,53 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
ROOT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
[ -f "$ROOT_DIR/config/system-stack.env" ] && set -a && . "$ROOT_DIR/config/system-stack.env" && set +a
|
||||
[ -f "$ROOT_DIR/config/hardware.env" ] && set -a && . "$ROOT_DIR/config/hardware.env" && set +a
|
||||
|
||||
: "${SRS_SRT_URL:=srt://127.0.0.1:10080?streamid=#!::r=live/livestream,m=request&latency=10}"
|
||||
|
||||
try_mpv_drm() {
|
||||
command -v mpv >/dev/null 2>&1 || return 1
|
||||
[[ -e /dev/dri/card0 ]] || return 1
|
||||
exec mpv \
|
||||
--no-config \
|
||||
--profile=low-latency \
|
||||
--fullscreen \
|
||||
--osc=no \
|
||||
--osd-level=0 \
|
||||
--no-audio \
|
||||
--untimed \
|
||||
--cache=no \
|
||||
--vo=gpu \
|
||||
--gpu-context=drm \
|
||||
--hwdec=auto-safe \
|
||||
"$SRS_SRT_URL"
|
||||
}
|
||||
|
||||
try_ffplay_gui() {
|
||||
command -v ffplay >/dev/null 2>&1 || return 1
|
||||
export DISPLAY="${DISPLAY:-:0}"
|
||||
if [[ -n "${FFPLAY_SDL_DRIVER:-}" ]]; then
|
||||
export SDL_VIDEODRIVER="${FFPLAY_SDL_DRIVER}"
|
||||
fi
|
||||
exec ffplay -fs -nostats -hide_banner \
|
||||
-fflags nobuffer -flags low_delay -framedrop \
|
||||
-probesize 32 -analyzeduration 0 -sync ext -infbuf \
|
||||
-vf "setpts=PTS-STARTPTS" \
|
||||
"$SRS_SRT_URL"
|
||||
}
|
||||
|
||||
case "${LIVE_HDMI_PLAYER:-auto}" in
|
||||
mpv-drm)
|
||||
try_mpv_drm
|
||||
;;
|
||||
ffplay-x11)
|
||||
try_ffplay_gui
|
||||
;;
|
||||
esac
|
||||
|
||||
try_mpv_drm || try_ffplay_gui
|
||||
|
||||
echo "No compatible HDMI playback stack found. Install mpv for DRM/KMS or ffplay + X11." >&2
|
||||
exit 1
|
||||
Reference in New Issue
Block a user