FDH2 / UxPlay

AirPlay Unix mirroring server
GNU General Public License v3.0
1.35k stars 72 forks source link

Debian Sid package: Fails to stream with "GStreamer error: Internal data stream error" #90

Closed fduncanh closed 2 years ago

fduncanh commented 2 years ago

This is a repost of issue #21 by @scovit

(@scovit please post new issues: I posted your issue again here)

@scovit reports "GStreamer Error: Internal data stream error": Steps to reproduce:

install debian sid
activate experimental repository (add deb http://deb.debian.org/debian experimental main to sources.list)
apt update
apt -t experimental install uxplay
fduncanh commented 2 years ago

Notes: The experimental version on Debian Sid is uxplay-1.47.

Comments: tested:

~$ uxplay
using system MAC address xx:xx:xx:xx:xx:xx
Initialized server socket(s)
Accepted IPv4 client on socket 28
Local: 192.168.2.8
Remote: 192.168.2.138
Open connections: 1
Client identified as User-Agent: AirPlay/610.19.1
Accepted IPv4 client on socket 30
Local: 192.168.2.8
Remote: 192.168.2.138
Open connections: 2
raop_rtp_mirror starting mirroring
ct=8 spf=480 usingScreen=1 isMedia=1  audioFormat=0x1000000
start audio connection, format AAC-ELD 44100/2
raop_rtp starting audio

[Uxplay is working perfectly]
[plays a video from YouTube]
[closed output window]

GStreamer error: Output window was closed
Removing connection for socket 28
Destroying connection
Open connections: 1
Removing connection for socket 30
Destroying connection
Open connections: 0
Initialized server socket(s)

Test successful, no problems

@scovit, prehaps some needed plugins are not installed on your system? Please describe it: this one is

$ uname -a
Linux hostname 5.17.0-1-amd64 #1 SMP PREEMPT Debian 5.17.3-1 (2022-04-18) x86_64 GNU/Linux

$ cat /etc/issue
Debian GNU/Linux bookworm/sid \n \l

$ apt list --installed | grep gstreamer

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

gir1.2-gstreamer-1.0/unstable,now 1.20.1-1 amd64 [installed,automatic]
gstreamer1.0-gl/unstable,now 1.20.1-1 amd64 [installed,automatic]
gstreamer1.0-libav/unstable,now 1.20.1-1 amd64 [installed]
gstreamer1.0-plugins-bad/unstable,now 1.20.1-1 amd64 [installed]
gstreamer1.0-plugins-base/unstable,now 1.20.1-1 amd64 [installed,automatic]
gstreamer1.0-plugins-good/unstable,now 1.20.1-1 amd64 [installed,automatic]
gstreamer1.0-plugins-ugly/unstable,now 1.20.1-1 amd64 [installed,automatic]
gstreamer1.0-x/unstable,now 1.20.1-1 amd64 [installed,automatic]
libgstreamer-gl1.0-0/unstable,now 1.20.1-1 amd64 [installed,automatic]
libgstreamer-plugins-bad1.0-0/unstable,now 1.20.1-1 amd64 [installed,automatic]
libgstreamer-plugins-base1.0-0/unstable,now 1.20.1-1 amd64 [installed,automatic]
libgstreamer-plugins-base1.0-dev/unstable,now 1.20.1-1 amd64 [installed]
libgstreamer1.0-0/unstable,now 1.20.1-1 amd64 [installed,automatic]
libgstreamer1.0-dev/unstable,now 1.20.1-1 amd64 [installed]
qtgstreamer-plugins-qt5/unstable,now 1.2.0-5.1 amd64 [installed,automatic]
scovit commented 2 years ago

Than you for this help, this are the output of those commands:

$ uname -a
Linux maleo 5.16.0-6-amd64 #1 SMP PREEMPT Debian 5.16.18-1 (2022-03-29) x86_64 GNU/Linux
$ cat /etc/issue
Debian GNU/Linux bookworm/sid \n \l

$ apt list --installed | grep gstreamer

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

gir1.2-gstreamer-1.0/testing,now 1.20.1-1 amd64 [installed,automatic]
gstreamer1.0-adapter-pulseeffects/testing,now 4.8.4-1 amd64 [installed]
gstreamer1.0-alsa/testing,now 1.20.1-1 amd64 [installed]
gstreamer1.0-autogain-pulseeffects/testing,now 4.8.4-1 amd64 [installed]
gstreamer1.0-clutter-3.0/testing,now 3.0.27-2+b1 amd64 [installed]
gstreamer1.0-convolver-pulseeffects/testing,now 4.8.4-1 amd64 [installed]
gstreamer1.0-crystalizer-pulseeffects/testing,now 4.8.4-1 amd64 [installed]
gstreamer1.0-espeak/testing,now 0.5.0-1 amd64 [installed]
gstreamer1.0-fdkaac/testing,now 1.18.4-3 amd64 [installed]
gstreamer1.0-gl/testing,now 1.20.1-1 amd64 [installed]
gstreamer1.0-gtk3/testing,now 1.20.1-1 amd64 [installed]
gstreamer1.0-libav/testing,now 1.20.1-1 amd64 [installed]
gstreamer1.0-nice/testing,now 0.1.18-2 amd64 [installed]
gstreamer1.0-omx-bellagio-config/testing,now 1.20.1-1 amd64 [installed]
gstreamer1.0-omx-generic-config/testing,now 1.20.1-1 amd64 [installed]
gstreamer1.0-omx-generic/testing,now 1.20.1-1 amd64 [installed]
gstreamer1.0-opencv/testing,now 1.20.1-1 amd64 [installed]
gstreamer1.0-packagekit/testing,now 1.2.5-3 amd64 [installed]
gstreamer1.0-pipewire/testing,now 0.3.50-1 amd64 [installed]
gstreamer1.0-plugins-bad-apps/testing,now 1.20.1-1 amd64 [installed]
gstreamer1.0-plugins-bad/testing,now 1.20.1-1 amd64 [installed]
gstreamer1.0-plugins-base-apps/testing,now 1.20.1-1 amd64 [installed]
gstreamer1.0-plugins-base/testing,now 1.20.1-1 amd64 [installed]
gstreamer1.0-plugins-good/testing,now 1.20.1-1 amd64 [installed]
gstreamer1.0-plugins-rtp/testing,now 1.14.4.1 amd64 [installed]
gstreamer1.0-plugins-ugly/testing,now 1.20.1-1 amd64 [installed]
gstreamer1.0-pocketsphinx/testing,now 0.8+5prealpha+1-14 amd64 [installed]
gstreamer1.0-pulseaudio/testing,now 1.20.1-1 amd64 [installed]
gstreamer1.0-python3-plugin-loader/testing,now 1.20.1-1+b1 amd64 [installed]
gstreamer1.0-qt5/testing,now 1.20.1-1 amd64 [installed]
gstreamer1.0-rtsp/testing,now 1.20.1-1 amd64 [installed]
gstreamer1.0-tools/testing,now 1.20.1-1 amd64 [installed]
gstreamer1.0-vaapi/testing,now 1.20.1-1 amd64 [installed]
gstreamer1.0-wpe/testing,now 1.20.1-1 amd64 [installed]
gstreamer1.0-x/testing,now 1.20.1-1 amd64 [installed]
libgstreamer-gl1.0-0/testing,now 1.20.1-1 amd64 [installed,automatic]
libgstreamer-opencv1.0-0/testing,now 1.20.1-1 amd64 [installed,automatic]
libgstreamer-plugins-bad1.0-0/testing,now 1.20.1-1 amd64 [installed,automatic]
libgstreamer-plugins-base1.0-0/testing,now 1.20.1-1 amd64 [installed,automatic]
libgstreamer-plugins-base1.0-dev/testing,now 1.20.1-1 amd64 [installed]
libgstreamer1.0-0/testing,now 1.20.1-1 amd64 [installed]
libgstreamer1.0-dev/testing,now 1.20.1-1 amd64 [installed]
fduncanh commented 2 years ago

you seem to have all the gstreamer packages installed.

In any case, I saw the Debian package of uxplay worked, at least on my system.

(1) try to force software decoding with uxplay -avdec (often vaapi is the problem, with some nonfree hardware drivers missing/uninstalled in Debian) try various videosinks (-vs glimagesink or -vs gtksink -vs ximagesink -vs xvimagesink etc)

gstreamer debugging with

export GST_DEBUG=2 (or 4) may give a clue to why gstreamer can't find a working video pipeline,

fduncanh commented 2 years ago

from the README "Troubleshooting" section:

Other reported problems are connected to the GStreamer VAAPI plugin (for hardware-accelerated Intel graphics, but not NVIDIA graphics). Use the option "-avdec" to force software h264 video decoding: this should prevent autovideosink from selecting the vaapisink videosink. Alternatively, find out if the gstreamer1.0-vaapi plugin is installed, and if so, uninstall it. (If this does not fix the problem, you can reinstall it.)

There are some reports of other GStreamer problems with hardware-accelerated Intel HD graphics. One user (on Debian) solved this with "sudo apt install intel-media-va-driver-non-free". This is a driver for 8'th (or later) generation "*-lake" Intel chips, that seems to be related to VAAPI accelerated graphics.

If you do have Intel HD graphics, and have installed the vaapi plugin, but -vs vaapisink does not work, check that vaapi is not "blacklisted" in your GStreamer installation: run gst-inspect-1.0 vaapi, if this reports 0 features, you need to export GST_VAAPI_ALL_DRIVERS=1 before running uxplay, or set this in the default environment.

fduncanh commented 2 years ago

@scovit was this solved? should this issue be closed

fduncanh commented 2 years ago

closing, in the absence of new information.