knuesel / gst-airplay Goto Github PK
View Code? Open in Web Editor NEWGStreamer source element for AirPlay video streams
License: GNU General Public License v3.0
GStreamer source element for AirPlay video streams
License: GNU General Public License v3.0
Hello,
I'm trying to use this in OBS with the given line:
airplaysrc ! queue ! h264parse ! avdec_h264 max-threads=1 ! videoconvert ! videoscale ! video.
Which OBS gives an error of:
error: [obs-gstreamer] ipad: Cannot start pipeline: no element "airplaysrc"
I do know that the pluging is correctly installed as I can run
gst-launch-1.0 airplaysrc ! queue ! h264parse ! avdec_h264 max-threads=1 ! autovideosink
and get a window with the correct screen mirroring.
I'm thinking this might be because I'm using the Flatpak version of OBS on Arch. But I'm not confident in that being the reason.
Hi! I'm running Pop OS 21.04 and am following the build instructions. I got as far as the meson build
step without issue, but then I get this error:
The Meson build system
Version: 0.56.2
Source dir: /home/marcel/GitHub/gst-airplay
Build dir: /home/marcel/GitHub/gst-airplay/build
Build type: native build
Project name: gst-airplay
Project version: 0.1
C compiler for the host machine: cc (gcc 10.3.0 "cc (Ubuntu 10.3.0-1ubuntu1) 10.3.0")
C linker for the host machine: cc ld.bfd 2.36.1
Host machine cpu family: x86_64
Host machine cpu: x86_64
Found pkg-config: /usr/bin/pkg-config (0.29.2)
Run-time dependency gio-2.0 found: YES 2.68.1
Run-time dependency gstreamer-1.0 found: YES 1.18.4
Run-time dependency gstreamer-base-1.0 found: YES 1.18.4
Run-time dependency gstreamer-video-1.0 found: YES 1.18.4
Configuring config.h using configuration
Found CMake: /usr/bin/cmake (3.18.4)
Run-time dependency airplay found: NO (tried pkgconfig and cmake)
meson.build:40:0: ERROR: Dependency "airplay" not found, tried pkgconfig and cmake
A full log can be found at /home/marcel/GitHub/gst-airplay/build/meson-logs/meson-log.txt
Here is the full log:
Build started at 2021-12-16T17:40:52.300053
Main binary: /usr/bin/python3
Build Options:
Python system: Linux
The Meson build system
Version: 0.56.2
Source dir: /home/marcel/GitHub/gst-airplay
Build dir: /home/marcel/GitHub/gst-airplay/build
Build type: native build
Project name: gst-airplay
Project version: 0.1
None of 'CC' are defined in the environment, not changing global flags.
None of 'CFLAGS' are defined in the environment, not changing global flags.
None of 'LDFLAGS' are defined in the environment, not changing global flags.
None of 'CPPFLAGS' are defined in the environment, not changing global flags.
None of 'CC_LD' are defined in the environment, not changing global flags.
Sanity testing C compiler: cc
Is cross compiler: False.
None of 'CC_LD' are defined in the environment, not changing global flags.
Sanity check compiler command line: cc /home/marcel/GitHub/gst-airplay/build/meson-private/sanitycheckc.c -o /home/marcel/GitHub/gst-airplay/build/meson-private/sanitycheckc.exe -pipe -D_FILE_OFFSET_BITS=64
Sanity check compile stdout:
-----
Sanity check compile stderr:
-----
Running test binary command: /home/marcel/GitHub/gst-airplay/build/meson-private/sanitycheckc.exe
C compiler for the host machine: cc (gcc 10.3.0 "cc (Ubuntu 10.3.0-1ubuntu1) 10.3.0")
C linker for the host machine: cc ld.bfd 2.36.1
None of 'AR' are defined in the environment, not changing global flags.
None of 'CC' are defined in the environment, not changing global flags.
None of 'CFLAGS' are defined in the environment, not changing global flags.
None of 'LDFLAGS' are defined in the environment, not changing global flags.
None of 'CPPFLAGS' are defined in the environment, not changing global flags.
None of 'CC_LD' are defined in the environment, not changing global flags.
Sanity testing C compiler: cc
Is cross compiler: False.
None of 'CC_LD' are defined in the environment, not changing global flags.
Sanity check compiler command line: cc /home/marcel/GitHub/gst-airplay/build/meson-private/sanitycheckc.c -o /home/marcel/GitHub/gst-airplay/build/meson-private/sanitycheckc.exe -pipe -D_FILE_OFFSET_BITS=64
Sanity check compile stdout:
-----
Sanity check compile stderr:
-----
Running test binary command: /home/marcel/GitHub/gst-airplay/build/meson-private/sanitycheckc.exe
C compiler for the build machine: cc (gcc 10.3.0 "cc (Ubuntu 10.3.0-1ubuntu1) 10.3.0")
C linker for the build machine: cc ld.bfd 2.36.1
None of 'AR' are defined in the environment, not changing global flags.
Build machine cpu family: x86_64
Build machine cpu: x86_64
Host machine cpu family: x86_64
Host machine cpu: x86_64
Target machine cpu family: x86_64
Target machine cpu: x86_64
Pkg-config binary for MachineChoice.HOST is not cached.
None of 'PKG_CONFIG' are defined in the environment, not changing global flags.
Pkg-config binary missing from cross or native file, or env var undefined.
Trying a default Pkg-config fallback at pkg-config
Found pkg-config: /usr/bin/pkg-config (0.29.2)
Determining dependency 'gio-2.0' with pkg-config executable '/usr/bin/pkg-config'
PKG_CONFIG_PATH:
Called `/usr/bin/pkg-config --modversion gio-2.0` -> 0
2.68.1
PKG_CONFIG_PATH:
Called `/usr/bin/pkg-config --cflags gio-2.0` -> 0
-pthread -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include
PKG_CONFIG_PATH:
Called `/usr/bin/pkg-config gio-2.0 --libs` -> 0
-L/usr/lib/x86_64-linux-gnu -lgio-2.0 -lgobject-2.0 -lglib-2.0
PKG_CONFIG_PATH:
Called `/usr/bin/pkg-config gio-2.0 --libs` -> 0
-lgio-2.0 -lgobject-2.0 -lglib-2.0
None of 'PKG_CONFIG_PATH' are defined in the environment, not changing global flags.
None of 'CC_LD' are defined in the environment, not changing global flags.
Running compile:
Working directory: /home/marcel/GitHub/gst-airplay/build/meson-private/tmpb4bdnl1r
Command line: cc /home/marcel/GitHub/gst-airplay/build/meson-private/tmpb4bdnl1r/testfile.c -o /home/marcel/GitHub/gst-airplay/build/meson-private/tmpb4bdnl1r/output.exe -pipe -D_FILE_OFFSET_BITS=64 -O0
Code:
#include<stdio.h>
int main(void) {
printf("%ld\n", (long)(sizeof(void *)));
return 0;
};
Compiler stdout:
Compiler stderr:
Program stdout:
8
Program stderr:
Running compile:
Working directory: /home/marcel/GitHub/gst-airplay/build/meson-private/tmpxuqn3ksh
Command line: cc /home/marcel/GitHub/gst-airplay/build/meson-private/tmpxuqn3ksh/testfile.c -o /home/marcel/GitHub/gst-airplay/build/meson-private/tmpxuqn3ksh/output.obj -pipe -c -D_FILE_OFFSET_BITS=64 -O0 --print-search-dirs
Code:
Compiler stdout:
install: /usr/lib/gcc/x86_64-linux-gnu/10/
programs: =/usr/lib/gcc/x86_64-linux-gnu/10/:/usr/lib/gcc/x86_64-linux-gnu/10/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/10/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/10/../../../../x86_64-linux-gnu/bin/x86_64-linux-gnu/10/:/usr/lib/gcc/x86_64-linux-gnu/10/../../../../x86_64-linux-gnu/bin/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/10/../../../../x86_64-linux-gnu/bin/
libraries: =/usr/lib/gcc/x86_64-linux-gnu/10/:/usr/lib/gcc/x86_64-linux-gnu/10/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/10/:/usr/lib/gcc/x86_64-linux-gnu/10/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/10/../../../../x86_64-linux-gnu/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/10/:/usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/10/../../../../lib/:/lib/x86_64-linux-gnu/10/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/10/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/10/../../../../x86_64-linux-gnu/lib/:/usr/lib/gcc/x86_64-linux-gnu/10/../../../:/lib/:/usr/lib/
Compiler stderr:
Run-time dependency gio-2.0 found: YES 2.68.1
Pkg-config binary for MachineChoice.HOST is cached.
Determining dependency 'gstreamer-1.0' with pkg-config executable '/usr/bin/pkg-config'
PKG_CONFIG_PATH:
Called `/usr/bin/pkg-config --modversion gstreamer-1.0` -> 0
1.18.4
PKG_CONFIG_PATH:
Called `/usr/bin/pkg-config --cflags gstreamer-1.0` -> 0
-pthread -I/usr/include/gstreamer-1.0 -I/usr/include/x86_64-linux-gnu -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include
PKG_CONFIG_PATH:
Called `/usr/bin/pkg-config gstreamer-1.0 --libs` -> 0
-L/usr/lib/x86_64-linux-gnu -lgstreamer-1.0 -lgobject-2.0 -lglib-2.0
PKG_CONFIG_PATH:
Called `/usr/bin/pkg-config gstreamer-1.0 --libs` -> 0
-lgstreamer-1.0 -lgobject-2.0 -lglib-2.0
None of 'PKG_CONFIG_PATH' are defined in the environment, not changing global flags.
Run-time dependency gstreamer-1.0 found: YES 1.18.4
Pkg-config binary for MachineChoice.HOST is cached.
Determining dependency 'gstreamer-base-1.0' with pkg-config executable '/usr/bin/pkg-config'
PKG_CONFIG_PATH:
Called `/usr/bin/pkg-config --modversion gstreamer-base-1.0` -> 0
1.18.4
PKG_CONFIG_PATH:
Called `/usr/bin/pkg-config --cflags gstreamer-base-1.0` -> 0
-pthread -I/usr/include/gstreamer-1.0 -I/usr/include/x86_64-linux-gnu -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include
PKG_CONFIG_PATH:
Called `/usr/bin/pkg-config gstreamer-base-1.0 --libs` -> 0
-L/usr/lib/x86_64-linux-gnu -lgstbase-1.0 -lgstreamer-1.0 -lgobject-2.0 -lglib-2.0
PKG_CONFIG_PATH:
Called `/usr/bin/pkg-config gstreamer-base-1.0 --libs` -> 0
-lgstbase-1.0 -lgstreamer-1.0 -lgobject-2.0 -lglib-2.0
None of 'PKG_CONFIG_PATH' are defined in the environment, not changing global flags.
Run-time dependency gstreamer-base-1.0 found: YES 1.18.4
Pkg-config binary for MachineChoice.HOST is cached.
Determining dependency 'gstreamer-video-1.0' with pkg-config executable '/usr/bin/pkg-config'
PKG_CONFIG_PATH:
Called `/usr/bin/pkg-config --modversion gstreamer-video-1.0` -> 0
1.18.4
PKG_CONFIG_PATH:
Called `/usr/bin/pkg-config --cflags gstreamer-video-1.0` -> 0
-pthread -I/usr/include/gstreamer-1.0 -I/usr/include/orc-0.4 -I/usr/include/gstreamer-1.0 -I/usr/include/x86_64-linux-gnu -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include
PKG_CONFIG_PATH:
Called `/usr/bin/pkg-config gstreamer-video-1.0 --libs` -> 0
-L/usr/lib/x86_64-linux-gnu -lgstvideo-1.0 -lgstbase-1.0 -lgstreamer-1.0 -lgobject-2.0 -lglib-2.0
PKG_CONFIG_PATH:
Called `/usr/bin/pkg-config gstreamer-video-1.0 --libs` -> 0
-lgstvideo-1.0 -lgstbase-1.0 -lgstreamer-1.0 -lgobject-2.0 -lglib-2.0
None of 'PKG_CONFIG_PATH' are defined in the environment, not changing global flags.
Run-time dependency gstreamer-video-1.0 found: YES 1.18.4
Configuring config.h using configuration
Pkg-config binary for MachineChoice.HOST is cached.
Determining dependency 'airplay' with pkg-config executable '/usr/bin/pkg-config'
PKG_CONFIG_PATH:
Called `/usr/bin/pkg-config --modversion airplay` -> 1
CMake binary for MachineChoice.HOST is not cached
None of 'CMAKE' are defined in the environment, not changing global flags.
CMake binary missing from cross or native file, or env var undefined.
Trying a default CMake fallback at cmake
Found CMake: /usr/bin/cmake (3.18.4)
None of 'CMAKE_PREFIX_PATH' are defined in the environment, not changing global flags.
Extracting basic cmake information
Try CMake generator: auto
Calling CMake (['/usr/bin/cmake']) in /home/marcel/GitHub/gst-airplay/build/meson-private/cmake_airplay with:
- "--trace-expand"
- "--trace-format=json-v1"
- "--no-warn-unused-cli"
- "--trace-redirect=cmake_trace.txt"
- "-DCMAKE_TOOLCHAIN_FILE=/home/marcel/GitHub/gst-airplay/build/meson-private/cmake_airplay/CMakeMesonToolchainFile.cmake"
- "."
-- Module search paths: ['/', '/opt', '/usr', '/usr/local']
-- CMake root: /usr/share/cmake-3.18
-- CMake architectures: ['x86_64-linux-gnu']
-- CMake lib search paths: ['lib', 'lib32', 'lib64', 'libx32', 'share', 'lib/x86_64-linux-gnu']
Preliminary CMake check failed. Aborting.
Run-time dependency airplay found: NO (tried pkgconfig and cmake)
meson.build:40:0: ERROR: Dependency "airplay" not found, tried pkgconfig and cmake
Is there something I'm doing wrong? Thanks!
I managed to finish building.
Running gst-inspect-1.0
shows some plugins but doesn't show libgstairplay.so
.
I updated the $GST_PLUGIN_PATH
to point to the libgstairplay.so
object.
I also tried providing the path in gst-launch-1.0
, but mirroring still doesn't work. More specifically, I can see gstairplay
as a destination, but my ipad simply says ' Unable to connect to "gstairplay" '.
Any pointers would be appreciated!
meson knows how to use subproject through wrap files, and has a compatibility module that allows building cmake subprojects.
This would make it easier to build this project, pass the right options, etc.
@knuesel: How I can contact you by email?
Can I have your email address?
You can remove this ticket after sending the reply ^^
Thanks in advance.
It would be super useful for building applications to know whether there's a client connected or not, so that the application could show a "rest" screen and only switch when a connection has been made.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.