Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions configs/emax_wyvern-link_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,20 @@ BR2_PACKAGE_BUSYBOX_CONFIG="${BR2_EXTERNAL}/package/busybox/busybox.config"
BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
BR2_PACKAGE_GSTREAMER1=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_APP=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOCONVERT=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORESAMPLE=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_OPUS=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VOLUME=y
BR2_PACKAGE_GST1_PLUGINS_GOOD=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_DEBUGUTILS=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTP=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ISOMP4=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MULTIFILE=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_UDP=y
BR2_PACKAGE_GST1_PLUGINS_BAD=y
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOPARSERS=y
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPUS=y
BR2_PACKAGE_GST1_PLUGINS_UGLY=y
BR2_PACKAGE_XZ=y
BR2_PACKAGE_JQ=y
Expand Down
9 changes: 9 additions & 0 deletions configs/openipc_bonnet_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,20 @@ BR2_PACKAGE_BUSYBOX_CONFIG="${BR2_EXTERNAL}/package/busybox/busybox.config"
BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
BR2_PACKAGE_GSTREAMER1=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_APP=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOCONVERT=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORESAMPLE=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_OPUS=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VOLUME=y
BR2_PACKAGE_GST1_PLUGINS_GOOD=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_DEBUGUTILS=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTP=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ISOMP4=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MULTIFILE=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_UDP=y
BR2_PACKAGE_GST1_PLUGINS_BAD=y
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOPARSERS=y
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPUS=y
BR2_PACKAGE_GST1_PLUGINS_UGLY=y
BR2_PACKAGE_XZ=y
BR2_PACKAGE_JQ=y
Expand Down
9 changes: 9 additions & 0 deletions configs/radxa_zero3_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,20 @@ BR2_PACKAGE_BUSYBOX_CONFIG="${BR2_EXTERNAL}/package/busybox/busybox.config"
BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
BR2_PACKAGE_GSTREAMER1=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_APP=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOCONVERT=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORESAMPLE=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_OPUS=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VOLUME=y
BR2_PACKAGE_GST1_PLUGINS_GOOD=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_DEBUGUTILS=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTP=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ISOMP4=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MULTIFILE=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_UDP=y
BR2_PACKAGE_GST1_PLUGINS_BAD=y
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOPARSERS=y
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPUS=y
BR2_PACKAGE_GST1_PLUGINS_UGLY=y
BR2_PACKAGE_XZ=y
BR2_PACKAGE_JQ=y
Expand Down
9 changes: 9 additions & 0 deletions configs/runcam_wifilink_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,20 @@ BR2_PACKAGE_BUSYBOX_CONFIG="${BR2_EXTERNAL}/package/busybox/busybox.config"
BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
BR2_PACKAGE_GSTREAMER1=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_APP=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOCONVERT=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORESAMPLE=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_OPUS=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VOLUME=y
BR2_PACKAGE_GST1_PLUGINS_GOOD=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_DEBUGUTILS=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTP=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ISOMP4=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MULTIFILE=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_UDP=y
BR2_PACKAGE_GST1_PLUGINS_BAD=y
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOPARSERS=y
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPUS=y
BR2_PACKAGE_GST1_PLUGINS_UGLY=y
BR2_PACKAGE_XZ=y
BR2_PACKAGE_JQ=y
Expand Down
70 changes: 62 additions & 8 deletions package/pixelpilot/files/gsmenu.sh
Original file line number Diff line number Diff line change
Expand Up @@ -311,6 +311,17 @@ case "$@" in
get_majestic_value '.fpv.noiseLevel'
emit_values "0 1"
;;
"get air camera audio_enabled")
get_majestic_value '.audio.enabled' | grep -q true && echo 1 || echo 0
;;
"get air camera audio_volume")
get_majestic_value '.audio.volume'
emit_values "0 100"
;;
"get air camera audio_srate")
get_majestic_value '.audio.srate'
emit_values "8000\n16000\n32000\n48000"
;;

"set air camera mirror"*)
if [ "$5" = "on" ]; then
Expand Down Expand Up @@ -391,6 +402,19 @@ case "$@" in
"set air camera noiselevel"*)
$SSH "cli -s .fpv.noiseLevel $5 && killall -1 majestic"
;;
"set air camera audio_enabled"*)
if [ "$5" = "on" ]; then
$SSH 'cli -s .audio.enabled true && killall -1 majestic'
else
$SSH 'cli -s .audio.enabled false && killall -1 majestic'
fi
;;
"set air camera audio_volume"*)
$SSH "cli -s .audio.volume $5 && killall -1 majestic"
;;
"set air camera audio_srate"*)
$SSH "cli -s .audio.srate $5 && killall -1 majestic"
;;

# ── Air: Telemetry ───────────────────────────────────────────────────────────

Expand Down Expand Up @@ -700,11 +724,6 @@ case "$@" in
. /etc/default/pixelpilot
[ x$PIXELPILOT_LIVE_COLORTRANS = x"" ] && echo 0 || echo 1
;;
"get gs system rec_fps")
. /etc/default/pixelpilot
echo $PIXELPILOT_DVR_FRAMERATE
emit_values "60\n90\n120"
;;
"get gs system dvr_mode")
. /etc/default/pixelpilot
echo $PIXELPILOT_DVR_MODE
Expand Down Expand Up @@ -742,6 +761,29 @@ case "$@" in
. /etc/default/pixelpilot
[ x$PIXELPILOT_DVR_OSD = x"" ] && echo 0 || echo 1
;;
"get gs system audio_device"*)
. /etc/default/pixelpilot
cur="$PIXELPILOT_AUDIO_DEVICE"
[ -z "$cur" ] && cur="default"
echo "$cur"
# Options: "default" + the card ids from /proc/asound/cards (e.g. rockchiphdmi, HEADSET)
opts="default"
for c in $(awk -F'[][]' '/^ *[0-9]+ \[/{gsub(/ /,"",$2); print $2}' /proc/asound/cards); do
opts="$opts\n$c"
done
emit_values "$opts"
;;
"get gs system audio_volume"*)
. /etc/default/pixelpilot
v="$PIXELPILOT_AUDIO_VOLUME"
[ -z "$v" ] && v=100
echo "$v"
emit_values "0 100"
;;
"get gs system audio"*)
. /etc/default/pixelpilot
[ x$PIXELPILOT_AUDIO = x"" ] && echo 0 || echo 1
;;
"set gs system rx_codec"*)
sed -i "s/^PIXELPILOT_CODEC=.*/PIXELPILOT_CODEC=\"$5\"/" /etc/default/pixelpilot
;;
Expand Down Expand Up @@ -819,9 +861,6 @@ EOF
sed -i "s/^PIXELPILOT_LIVE_COLORTRANS=.*/PIXELPILOT_LIVE_COLORTRANS=\"\"/" /etc/default/pixelpilot
fi
;;
"set gs system rec_fps"*)
sed -i "s/^PIXELPILOT_DVR_FRAMERATE=.*/PIXELPILOT_DVR_FRAMERATE=\"$5\"/" /etc/default/pixelpilot
;;
"set gs system rec_enabled"*)
if [ "$5" = "off" ]; then
: #noop
Expand Down Expand Up @@ -854,6 +893,21 @@ EOF
sed -i "s/^PIXELPILOT_DVR_OSD=.*/PIXELPILOT_DVR_OSD=\"\"/" /etc/default/pixelpilot
fi
;;
"set gs system audio_device"*)
val="$5"
[ "$val" = "default" ] && val=""
sed -i "s|^PIXELPILOT_AUDIO_DEVICE=.*|PIXELPILOT_AUDIO_DEVICE=\"$val\"|" /etc/default/pixelpilot
;;
"set gs system audio_volume"*)
sed -i "s/^PIXELPILOT_AUDIO_VOLUME=.*/PIXELPILOT_AUDIO_VOLUME=\"$5\"/" /etc/default/pixelpilot
;;
"set gs system audio"*)
if [ "$5" = "on" ]; then
sed -i "s/^PIXELPILOT_AUDIO=.*/PIXELPILOT_AUDIO=\"--audio\"/" /etc/default/pixelpilot
else
sed -i "s/^PIXELPILOT_AUDIO=.*/PIXELPILOT_AUDIO=\"\"/" /etc/default/pixelpilot
fi
;;

# ── GS: APFPV ───────────────────────────────────────────────────────────────

Expand Down
19 changes: 17 additions & 2 deletions package/pixelpilot/files/pixelpilot
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ PIXELPILOT_OSD_ARGS="--osd --osd-custom-message --osd-config $PIXELPILOT_OSD_CON
PIXELPILOT_CONFIG_YAML="$([ -f /media/dvr/pixelpilot.yaml ] && echo /media/dvr/pixelpilot.yaml || echo /etc/pixelpilot.yaml)"
PIXELPILOT_SCREEN_MODE="1920x1080@60"
PIXELPILOT_DISABLE_VSYNC="--disable-vsync"
PIXELPILOT_DVR_FRAMERATE="60"
PIXELPILOT_CODEC="h265"
PIXELPILOT_VIDEO_SCALE=1.0
PIXELPILOT_LIVE_COLORTRANS=""
Expand All @@ -15,4 +14,20 @@ PIXELPILOT_DVR_RESOLUTION="1080p"
PIXELPILOT_DVR_MODE="reencode"
PIXELPILOT_DVR_MAX_SIZE="4000"

PIXELPILOT_ARGS="--config $PIXELPILOT_CONFIG_YAML $PIXELPILOT_OSD_ARGS $PIXELPILOT_DISABLE_VSYNC --codec $PIXELPILOT_CODEC --screen-mode $PIXELPILOT_SCREEN_MODE --video-scale $PIXELPILOT_VIDEO_SCALE --dvr-framerate $PIXELPILOT_DVR_FRAMERATE --dvr-fmp4 --dvr-sequenced-files --dvr-template /media/dvr/record_%Y-%m-%d_%H-%M-%S.mp4 $PIXELPILOT_LIVE_COLORTRANS --dvr-reenc-codec $PIXELPILOT_DVR_CODEC --dvr-reenc-bitrate $PIXELPILOT_DVR_BITRATE --dvr-reenc-fps $PIXELPILOT_DVR_FPS $PIXELPILOT_DVR_OSD --dvr-reenc-resolution $PIXELPILOT_DVR_RESOLUTION --dvr-mode $PIXELPILOT_DVR_MODE --dvr-max-size $PIXELPILOT_DVR_MAX_SIZE"

# Opt-in Opus audio playback (audio muxed into the RTP stream by the air unit,
# split by payload type). Leave PIXELPILOT_AUDIO empty to keep audio off.
# Set PIXELPILOT_AUDIO="--audio" to enable, and optionally pick the ALSA output
# by card id (from /proc/asound/cards), e.g. PIXELPILOT_AUDIO_DEVICE="rockchiphdmi".
# Empty = system default. Also selectable live from the OSD (System -> Receiver -> Output).
# PIXELPILOT_AUDIO_VOLUME is the software output volume in percent (0-100, empty = 100%).
PIXELPILOT_AUDIO=""
PIXELPILOT_AUDIO_DEVICE=""
PIXELPILOT_AUDIO_VOLUME=""
PIXELPILOT_AUDIO_ARGS="$PIXELPILOT_AUDIO"
if [ -n "$PIXELPILOT_AUDIO" ]; then
[ -n "$PIXELPILOT_AUDIO_DEVICE" ] && PIXELPILOT_AUDIO_ARGS="$PIXELPILOT_AUDIO_ARGS --audio-device $PIXELPILOT_AUDIO_DEVICE"
[ -n "$PIXELPILOT_AUDIO_VOLUME" ] && PIXELPILOT_AUDIO_ARGS="$PIXELPILOT_AUDIO_ARGS --audio-volume $PIXELPILOT_AUDIO_VOLUME"
fi

PIXELPILOT_ARGS="--config $PIXELPILOT_CONFIG_YAML $PIXELPILOT_OSD_ARGS --codec $PIXELPILOT_CODEC --screen-mode $PIXELPILOT_SCREEN_MODE --video-scale $PIXELPILOT_VIDEO_SCALE $PIXELPILOT_AUDIO_ARGS --dvr-fmp4 --dvr-sequenced-files --dvr-template /media/dvr/record_%Y-%m-%d_%H-%M-%S.mp4 $PIXELPILOT_LIVE_COLORTRANS --dvr-reenc-codec $PIXELPILOT_DVR_CODEC --dvr-reenc-bitrate $PIXELPILOT_DVR_BITRATE --dvr-reenc-fps $PIXELPILOT_DVR_FPS $PIXELPILOT_DVR_OSD --dvr-reenc-resolution $PIXELPILOT_DVR_RESOLUTION --dvr-mode $PIXELPILOT_DVR_MODE --dvr-max-size $PIXELPILOT_DVR_MAX_SIZE"
2 changes: 1 addition & 1 deletion package/pixelpilot/pixelpilot.mk
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#
###############################################################################

PIXELPILOT_VERSION=d81dae5e521d4dd97f850a067d359232f68e58b6
PIXELPILOT_VERSION=a2db9c5bcfa20d1a05ce7e746c5fd6b87fd5d646
PIXELPILOT_SITE=https://github.com/OpenIPC/PixelPilot_rk.git
PIXELPILOT_SITE_METHOD = git
PIXELPILOT_GIT_SUBMODULES = YES
Expand Down