1
0
Fork 0
mirror of https://gitlab.com/futo-org/fcast.git synced 2025-06-24 21:25:23 +00:00
fcast/README.md

44 lines
2.2 KiB
Markdown
Raw Normal View History

2023-06-20 09:36:56 +02:00
# FCast
2023-06-20 09:36:09 +02:00
2023-06-20 09:36:56 +02:00
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.
2023-06-20 09:36:09 +02:00
2023-06-20 09:36:56 +02:00
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.
2023-06-20 09:36:09 +02:00
2023-06-20 09:36:56 +02:00
## Features
2023-06-20 09:36:09 +02:00
2023-06-20 09:36:56 +02:00
- 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
2023-06-20 09:36:09 +02:00
2023-06-20 09:36:56 +02:00
## Client-Receiver Interaction in FCast
2023-06-20 09:36:09 +02:00
2023-06-20 09:36:56 +02:00
In FCast, a "client" is a device or software application that discovers and communicates with a "receiver". The client, 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 client 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 client can control the playback, allowing operations like pause, resume, seek, and volume adjustment.
2023-06-20 09:36:09 +02:00
2023-06-20 09:36:56 +02:00
A "receiver", in this context, is a software implementation running on various platforms (Linux, Windows, MacOS, Android, ...) that receives media content from the client. It continuously provides updates to the client about the current state of playback.
2023-06-20 09:36:09 +02:00
2023-06-20 09:36:56 +02:00
## Project Structure
2023-06-20 09:36:09 +02:00
2023-06-20 09:36:56 +02:00
- Receivers
- [**Android**](receivers/android) native.
- [**MacOS, Windows, Linux**](receivers/electron) electron.
2023-06-29 08:39:24 +00:00
- Apple TV (future)
2023-06-20 09:36:09 +02:00
2023-06-20 09:36:56 +02:00
- Clients
2023-12-13 12:53:40 +01:00
- [**Grayjay**](https://github.com/futo-org/grayjay-android) is a player that exposes multiple video websites as sources in the app.
2023-06-20 09:36:56 +02:00
- Browser plugin (future)
2023-06-20 09:36:09 +02:00
2023-06-20 09:36:56 +02:00
## Contributing
2023-06-20 09:36:09 +02:00
2023-06-20 09:36:56 +02:00
We welcome all contributions. Please read our CONTRIBUTING.md before submitting any pull requests.
2023-06-20 09:36:09 +02:00
2023-06-20 09:36:56 +02:00
## License
2023-06-20 09:36:09 +02:00
2023-06-29 08:39:24 +00:00
This project is licensed under the MIT License - see the LICENSE.md file for details.
2023-09-15 06:01:06 +00:00
## Documentation
2023-12-13 12:53:40 +01:00
Click [here](https://gitlab.com/futo-org/fcast/-/wikis/Protocol-version-1) to see the protocol documentation.