Closed arararar closed 2 years ago
which version of ubuntu? on 20.04 things are working fine, as far as I can see.
line 115-116 of renderers/video_renderer_gstreamer.c please first find out if your suggested change actually fixes your problem.
GString *launch = g_string_new("appsrc name=video_source stream-type=0 format=GST_FORMAT_TIME is-live=true !" "queue ! decodebin ! videoconvert ! ");
Yes, with that fix it works fine in ubuntu 21.10 (gstreamerpluginsbad also installed, as suggested).
But i am not sure, if it can be achieved that only ubuntu gets this patch?
the change decodebin
-> h264parse ! avdec_h264
is now committed; only h264 video is streamed by AirPlay,
so using decodebin to identify the video format is unneeded.
removing `videoconvert
is a mistake though; if it is not needed it does nothing, but not having it will break
some videosinks.
@arararar please test
please forgive me for reopen this thread again:
conclusion: DEBIAN works with "decodebin" UBUNTU works with "h264parse ! avdec_h264"
in line 115-116 of renderers/video_renderer_gstreamer.c
(You need to "reopen issue" to make it visible.)
debian stretch is soon out of long-term-support
There is no problem on current Debian 11.2 or Ubuntu 21.10 that I can see.
I'm installing Debian 9 (stretch) on a spare partition on an old computer, and will take a look.
You may be missing some gstreamer plugin. (plugins-bad?)
To debug Gstreamer set the environment variable
export GST_DEBUG=2
This will show you which plugins autovideosink has chosen for you.
see if uxplay -vs ximagesink
or uxplay -vs xvimagesink
fixes your issue.
One cant make releases "for ubuntu 21.10" or "for debian 9", they all should work.
I guess you have tried out the support for AirMyPc; was it useful for you?
(From fixing this, by discovering the older form of the protocol, I learned how older iPads/iPhones etc that cannot be updated beyond iOS 9 or 10 because they are 32bit can be supported too, in case that is useful for anyone.)
(Airmypc protocol is older, with two changes; iOS9 and 10 has only one of the changes, relative to the legacy iOS12 protocol used by UxPlay)
I couldnt get acceptable performance on debian stretch, its too old for me to support, and basically it shouldnt be used any more. (It has 6month left of long-term support). After some work to get libplist-2.0 (from debian 10 buster) and open-ssl 1.1.1 (compiled from source) I got it working. Autovideosink chooses glimagesink instead of ximagesink.
I got somewhat OK results with ... ! h264parse ! decodebin ! videoconvert ! .... and uxplay -vs ximagesink.
I also cannot reproduce your "green screen" with ubuntu-21.10 so I shouldn't have accepted your suggested fix. I would suggest .... ! h264parse ! decodebin ! videoconvert ! ....
"decodebin" ought to just select "avdec_h264" unless it is missing and I see no difference between the two with gstreamer1.16 or 1.18 but stretch uses 1.8.
please let me know if the change ... ! h264parse ! avdec_h264 ! videoconvert ! ... to ... ! h264parse ! decodebin ! videoconvert ! works for you both in debian9 stretch and ubuntu-21-10 (the h264parse is left in place)
If not, describe the issue with ubuntu-21-10 more carefully. Does the window title give the server name or is it "OpenGL renderer"_?
What is a "green window"?
works fine with Debian 10 on a AMD computer (once the gstreamer1.0-plugin-vaapi was uninstalled) also with Debian 11.2 on an Intel computer with NVIDIA graphics. I suspect your problem on Debian 9 "stretch" may be due to have the VAAPI plugin installed(?). Debian 9 is too old to try to support, so if "decodebin" works for you, just edit video_renderers_gstreamer.c for your setup.
(Its time to upgrade from "stretch", it is nearing end of LTS support.)
@arararar
I reverted your avdec_h264 fix in uxplay-1.46 (on master, not yet a release). That fix suppresses hardware decoding by the vaapi plugin. There is instead now an option -avdec to force software h264 decoding by libav. (replaces decodebin by h264_parse ! avdec_h264 ) Presumably this will fix the "green screen".
(aside: was geting AirMyPC to work with uxplay in fact useful to you in the end?)
Ok by me, concerning -avdec!
Yes, airmypc now works for all my collegues using windows as operating system, thank you very! much for your endurance in looking into this matter. I still feel obliged to offer you a coffee-contribution via PayPal, look into my email i sent to you a few weeks ago :)!
From my ipad, theres still the green screen bug present in uxplay under ubuntu. (debian is ok) It could still be fixed as desribed here: https://github.com/FD-/RPiPlay/issues/202
Perhaps you can "integrate" this case in the "renderers/video_renderer_gstreamer.c" file, so its automatically corrected when compiled under ubuntu? @fduncanh