GithubHelp home page GithubHelp logo

greatlord / gnome-screencast Goto Github PK

View Code? Open in Web Editor NEW

This project forked from benzea/gnome-network-displays

1.0 0.0 0.0 783 KB

Miracast implementation for GNOME

License: GNU General Public License v3.0

Python 0.26% Meson 1.49% Shell 0.10% C 98.16%

gnome-screencast's Introduction

This is an experimental implementation of Wi-Fi Display (aka Miracast).

The application will stream the selected monitor if the mutter screencast portal is available. If it is unavailable, a fallback to X11 based frame grabbing will happen. As such, it should work fine in almost all setups.

To get audio streaming, you need to change the audio output in pulseaudio to use the created "Network-Displays" sink.

To use it, you will need:

  • openh264 or x264
  • For audio supporting using AAC one of fdkaacenc, faac or avenc_aac
  • NetworkManager version > 1.15.2

Issues

Mutter currently has an issue when streaming from a multi-monitor setup. See https://gitlab.gnome.org/GNOME/mutter/issues/424

Testing

For testing purposes you can run with NETWORK_DISPLAYS_DUMMY=1 set. In that case, a dummy sink will be provided that allows connecting on localhost using any RTSP capable client to test WFD streaming.

You can connect to rtsp://localhost:7236/wfd1.0 then.

Debugging

Appropriate video/audio encoders will be selected automatically. You can modify the choice by setting the NETWORK_DISPLAYS_H264_ENC and NETWORK_DISPLAYS_AAC_ENC environment variables and specifying the gstreamer element to use (if supported and detected). run with G_MESSAGES_DEBUG=all to see the selection at work during connection establishment.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.