added -rpi option for Raspberry Pi video with GPU h264 decoding

This commit is contained in:
fduncanh
2022-02-25 02:11:10 -05:00
parent 7d94e167c4
commit f6f68f326b
2 changed files with 14 additions and 4 deletions

View File

@@ -41,7 +41,7 @@ UxPlay 1.48: An open\-source AirPlay mirroring server based on RPiPlay
.IP
choices: (software) avdec_h264; (hardware) v4l2h264dec,
.IP
nvdec, nvh264dec, vaapih264dec, vtdec, etc.
nvdec, nvh264dec, vaapih264dec, vtdec, ...
.TP
\fB\-vc\fI cnv \fR Choose GStreamer videoconverter; default "videoconvert"
.IP
@@ -51,16 +51,18 @@ UxPlay 1.48: An open\-source AirPlay mirroring server based on RPiPlay
.IP
choices: ximagesink,xvimagesink,vaapisink,glimagesink,
.IP
gtksink,waylandsink,osximagesink,fpsdisplaysink, etc.
gtksink,waylandsink,osximagesink,fpsdisplaysink,...
.PP
.TP
\fB\-vs\fR 0 Streamed audio only, with no video display window.
.TP
\fB\-rpi\fR Video settings for Raspberry Pi 4 (h264 decoding in GPU).
.TP
\fB\-avdec\fR Force software h264 video decoding with libav decoder.
.TP
\fB\-as\fI sink\fR Choose the GStreamer audiosink; default "autoaudiosink"
\fB\-as\fI sink\fR Choose the GStreamer audiosink; default "autoaudiosink"
.IP
choices: pulsesink,alsasink,osssink,oss4sink,osxaudiosink etc.
choices:pulsesink,alsasink,osssink,oss4sink,osxaudiosink,..
.PP
.TP
\fB\-as\fR 0 (or \fB\-a\fR) Turn audio off, streamed video only.

View File

@@ -235,6 +235,7 @@ static void print_info (char *name) {
printf("-vs ... Choose the GStreamer videosink; default \"autovideosink\"\n");
printf(" some choices: ximagesink,xvimagesink,vaapisink,glimagesink,\n");
printf(" gtksink,waylandsink,osximagesink,fpsdisplaysink, etc.\n");
printf("-rpi Video settings for Raspberry Pi 4 (h264 decoding in GPU).\n");
printf("-vs 0 Streamed audio only, with no video display window\n");
printf("-avdec Force software h264 video decoding with libav decoder\n");
printf("-as ... Choose the GStreamer audiosink; default \"autoaudiosink\"\n");
@@ -478,6 +479,13 @@ int main (int argc, char *argv[]) {
} else if (arg == "-avdec") {
video_decoder.erase();
video_decoder = "avdec_h264";
} else if (arg == "-rpi") {
video_decoder.erase();
video_decoder = "v4l2h264dec";
video_converter.erase();
video_converter = "v4l2convert";
videosink.erase();
videosink = "glimagesink";
} else if (arg == "-FPSdata") {
show_client_FPS_data = true;
} else if (arg == "-reset") {