1
0
Fork 0
mirror of https://gitlab.com/futo-org/fcast.git synced 2025-06-24 21:25:23 +00:00
FCast is an open source protocol that enables wireless streaming of audio and video content between devices
Find a file
2025-05-12 23:49:10 -05:00
.github/ISSUE_TEMPLATE fix: Set few required: false for few fields 2025-01-13 20:37:30 +01:00
clients Updated NestedArgs to fix a bug., 2025-03-04 17:24:22 +01:00
receivers Receivers: Added support for viewing browser supported generic file content 2025-05-12 23:49:10 -05:00
website Website: Change download link to latest releases 2025-05-06 15:05:55 -05:00
.cirrus.yml CI: Unblock keychain access in CI 2025-04-17 12:58:47 -05:00
.gitignore Added Cirrus CI configuration for local testing 2025-04-16 12:51:17 -05:00
.gitlab-ci.yml Added missing CI stage 2025-02-19 13:08:29 -06:00
.nvmrc add node files 2024-11-20 12:36:23 -06:00
CONTRIBUTING.md Updated README.md 2023-06-20 09:35:43 +02:00
LICENSE Update LICENSE 2023-06-20 06:46:12 +00:00
package-lock.json add node files 2024-11-20 12:36:23 -06:00
package.json change deploy-site to main to avoid generating preview 2024-11-20 13:11:22 -06:00
README.md Updated readme for Electron player 2.0.0 release 2024-11-19 17:44:17 -06:00


License: MIT

Open source protocol for audio and video content streaming


What is FCast?

FCast is an open source protocol that enables wireless streaming of audio and video content between devices, supporting various stream types such as DASH, HLS, and mp4.

Unlike proprietary protocols like Chromecast and AirPlay, FCast offers an open approach, empowering third-party developers to create their own receiver devices or integrate the FCast protocol into their own apps.

Features

  • Simple
  • Open source protocol for audio and video content streaming
  • Support for various stream types (DASH, HLS, mp4)
  • Compatibility with Linux, Windows, MacOS, and Android
  • mDNS for device discovery
  • Extensive freedom for developers to create custom receivers

Sender-Receiver Interaction in FCast

In FCast, a "sender" is a device or software application that discovers and communicates with a "receiver". The sender, which can be a terminal client or an Android application, uses the FCast protocol to send media content to the receiver, such as a TV or media top box. The sender initiates the media streaming by connecting to the receiver, launching the media, and then the receiver begins playing the media. Once the media is launched, the sender can control the playback, allowing operations like pause, resume, seek, and volume adjustment.

A "receiver", in this context, is a software implementation running on various platforms (Linux, Windows, MacOS, Android, ...) that receives media content from the sender. It continuously provides updates to the sender about the current state of playback.

Project Structure

  • Receivers

  • Senders

    • Grayjay is a player that exposes multiple video websites as sources in the app.
    • Browser plugin (future)

Contributing

We welcome all contributions. Please read our CONTRIBUTING.md before submitting any pull requests.

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

Documentation

Click here to see the protocol documentation.