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

Updated README.md

This commit is contained in:
Koen 2023-06-20 09:35:43 +02:00
parent 3a0e765bc9
commit af48a9bda4
9 changed files with 65 additions and 86 deletions

View file

@ -1,100 +1,40 @@
# What is FCast?
# FCast
FCast is a protocol designed for wireless streaming of audio and video content between devices. Unlike alternative protocols like Chromecast and AirPlay, FCast is an open source protocol that allows for custom receiver implementations, enabling third-party developers to create their own receiver devices or integrate the FCast protocol into their own apps.
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.
# Why do I need a receiver?
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.
The FCast receiver is a working receiver implementation compatible with Linux, Windows and MacOS that supports various stream types such as DASH, HLS and mp4.
## Features
![FCast receiver running on Linux](images/Untitled2.png)
- 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
# Protocol specification
## Client-Receiver Interaction in FCast
The protocol specification can be found here https://gitlab.futo.org/fcast/fcast-receiver/-/wikis/Protocol
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.
# How to run
1. Download the latest build for your platform from https://gitlab.futo.org/fcast/fcast-receiver/-/releases or build it yourself by following the build instructions.
2. Unzip the archive at your desired location.
3. Run the FCast receiver.
- **MacOS:** Run the FCastReceiver application
- **Linux:** Run the `fcast-receiver` application
- **Windows:** Run the `fcast-receiver.exe` application
4. You should now have the receiver running on the background. On desktop it will have a tray icon as such allowing you to close the receiver.
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.
![FCast receiver tray icon running on Linux](images/Untitled.png)
## Project Structure
# Connecting to the FCast receiver with the video streaming application
- Receivers
- [**Android**](receivers/android) native.
- [**MacOS, Windows, Linux**](receivers/electron) electron.
## Automatic discovery
- Clients
- [**Grayjay**](https://gitlab.futo.org/videostreaming/platformplayer) is a player that exposes multiple video websites as sources in the app.
1. Open the video streaming application.
2. Open the FCast receiver or restart it.
3. The receiver should now be visible in the casting dialog under "Discovered Devices".
4. If this failed, try manually connecting it. Automatic discovery does not work on all network types.
5. Click start to connect to the device.
6. Start watching content.
- Apple TV (future)
- Browser plugin (future)
## Manual
## Contributing
1. Open the FCast receiver.
2. Find the IP of the device running the receiver.
3. Open the video streaming application.
4. Open the casting dialog.
5. Click add to manually add a device.
6. Select the FCast protocol, enter a descriptive name, the IP you found and port 46899.
7. Click start to connect to the device.
8. Start watching content.
We welcome all contributions. Please read our CONTRIBUTING.md before submitting any pull requests.
![Manual add dialog in video streaming app](images/Untitled3.png)
## License
# How to build
# Preparing for build
Run the following commands in the `root` directory.
```
npm install
```
# Building
Run the following commands in the `root` directory.
```
npm run build
```
# Packaging
## Windows
Run the following commands in the `packaging` directory.
```
sh package.sh win32-x64
```
## MacOS ARM64
Run the following commands in the `packaging` directory.
```
sh package-macos.sh darwin-arm64
```
## MacOS x64
Run the following commands in the `packaging` directory.
```
sh package-macos.sh darwin-x64
```
## Linux x64
Run the following commands in the `packaging` directory.
```
sh package.sh linux-x64
```
This project is licensed under the MIT License - see the LICENSE.md file for details.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 715 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB