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:
parent
e5fe8b12c9
commit
dc44b877a9
2 changed files with 117 additions and 117 deletions
117
README.md
117
README.md
|
@ -1,107 +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
|
||||
|
||||

|
||||
- 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/videostreaming/fcast/-/wikis/home
|
||||
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.
|
||||
|
||||
# Clients
|
||||
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.
|
||||
|
||||
# Receivers
|
||||
## Project Structure
|
||||
|
||||
There are currently receivers for
|
||||
- Receivers
|
||||
- [**Android**](receivers/android) native.
|
||||
- [**MacOS, Windows, Linux**](receivers/electron) electron.
|
||||
|
||||
- Clients
|
||||
- [**Grayjay**](https://gitlab.futo.org/videostreaming/platformplayer) is a player that exposes multiple video websites as sources in the app.
|
||||
|
||||
- Apple TV (future)
|
||||
- Browser plugin (future)
|
||||
|
||||
1. Download the latest build for your platform from https://gitlab.futo.org/videostreaming/fcast/-/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.
|
||||
## Contributing
|
||||
|
||||

|
||||
We welcome all contributions. Please read our CONTRIBUTING.md before submitting any pull requests.
|
||||
|
||||
# Connecting to the FCast receiver with the video streaming application
|
||||
## License
|
||||
|
||||
## Automatic discovery
|
||||
|
||||
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.
|
||||
|
||||
## Manual
|
||||
|
||||
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.
|
||||
|
||||

|
||||
|
||||
# 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.
|
|
@ -1,40 +1,107 @@
|
|||
# FCast
|
||||
# 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.
|
||||
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.
|
||||
|
||||
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.
|
||||
# Why do I need a receiver?
|
||||
|
||||
## Features
|
||||
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.
|
||||
|
||||
- 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
|
||||

|
||||
|
||||
## Client-Receiver Interaction in FCast
|
||||
# Protocol specification
|
||||
|
||||
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.
|
||||
The protocol specification can be found here https://gitlab.futo.org/videostreaming/fcast/-/wikis/home
|
||||
|
||||
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.
|
||||
# Clients
|
||||
|
||||
## Project Structure
|
||||
# Receivers
|
||||
|
||||
- Receivers
|
||||
- [**Android**](receivers/android) native.
|
||||
- [**MacOS, Windows, Linux**](receivers/electron) electron.
|
||||
There are currently receivers for
|
||||
|
||||
- Clients
|
||||
- [**Grayjay**](https://gitlab.futo.org/videostreaming/platformplayer) is a player that exposes multiple video websites as sources in the app.
|
||||
|
||||
- Apple TV (future)
|
||||
- Browser plugin (future)
|
||||
|
||||
## Contributing
|
||||
1. Download the latest build for your platform from https://gitlab.futo.org/videostreaming/fcast/-/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.
|
||||
|
||||
We welcome all contributions. Please read our CONTRIBUTING.md before submitting any pull requests.
|
||||

|
||||
|
||||
## License
|
||||
# Connecting to the FCast receiver with the video streaming application
|
||||
|
||||
This project is licensed under the MIT License - see the LICENSE.md file for details.
|
||||
## Automatic discovery
|
||||
|
||||
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.
|
||||
|
||||
## Manual
|
||||
|
||||
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.
|
||||
|
||||

|
||||
|
||||
# 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
|
||||
```
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue