Merge branch 'main' into main
This commit is contained in:
commit
c362d7e1a3
7
.cargo/config
Normal file
7
.cargo/config
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
[target.x86_64-apple-darwin]
|
||||||
|
linker = "x86_64-apple-darwin20.4-clang"
|
||||||
|
ar = "x86_64-apple-darwin20.4-ar"
|
||||||
|
|
||||||
|
[target.aarch64-apple-darwin]
|
||||||
|
linker = "aarch64-apple-darwin20.4-clang"
|
||||||
|
ar = "aarch64-apple-darwin20.4-ar"
|
@ -3,8 +3,6 @@
|
|||||||
|
|
||||||
[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
|
[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
|
||||||
|
|
||||||
Next generation 24/7 playout, based on [Rust](https://www.rust-lang.org/).
|
|
||||||
|
|
||||||
The main purpose of ffplayout is to provide a 24/7 broadcasting solution that plays a *json* playlist for every day, while keeping the current playlist editable.
|
The main purpose of ffplayout is to provide a 24/7 broadcasting solution that plays a *json* playlist for every day, while keeping the current playlist editable.
|
||||||
|
|
||||||
**Check [ffplayout-frontend](https://github.com/ffplayout/ffplayout-frontend): web-based GUI for ffplayout**
|
**Check [ffplayout-frontend](https://github.com/ffplayout/ffplayout-frontend): web-based GUI for ffplayout**
|
||||||
@ -19,7 +17,7 @@ The main purpose of ffplayout is to provide a 24/7 broadcasting solution that pl
|
|||||||
- send emails with error message
|
- send emails with error message
|
||||||
- overlay a logo
|
- overlay a logo
|
||||||
- overlay text, controllable through [messenger](https://github.com/ffplayout/messenger) or [ffplayout-frontend](https://github.com/ffplayout/ffplayout-frontend) (needs ffmpeg with libzmq)
|
- overlay text, controllable through [messenger](https://github.com/ffplayout/messenger) or [ffplayout-frontend](https://github.com/ffplayout/ffplayout-frontend) (needs ffmpeg with libzmq)
|
||||||
- **EBU R128 loudness** normalization (single pass) (experimental)
|
- EBU R128 loudness normalization (single pass)
|
||||||
- loop playlist infinitely
|
- loop playlist infinitely
|
||||||
- trim and fade the last clip, to get full 24 hours
|
- trim and fade the last clip, to get full 24 hours
|
||||||
- when playlist is not 24 hours long, loop filler clip until time is full
|
- when playlist is not 24 hours long, loop filler clip until time is full
|
||||||
@ -36,7 +34,7 @@ The main purpose of ffplayout is to provide a 24/7 broadcasting solution that pl
|
|||||||
- **aevalsrc** (if video have no audio)
|
- **aevalsrc** (if video have no audio)
|
||||||
- **apad** (add silence if audio duration is to short)
|
- **apad** (add silence if audio duration is to short)
|
||||||
- **tpad** (add black frames if video duration is to short)
|
- **tpad** (add black frames if video duration is to short)
|
||||||
output):
|
- output:
|
||||||
- **stream**
|
- **stream**
|
||||||
- **desktop**
|
- **desktop**
|
||||||
|
|
||||||
@ -130,6 +128,6 @@ ffplayout also allows the passing of parameters:
|
|||||||
|
|
||||||
You can run the command like:
|
You can run the command like:
|
||||||
|
|
||||||
```SHELL
|
```Bash
|
||||||
./ffplayout.py -l none -p ~/playlist.json -o desktop
|
./ffplayout.py -l none -p ~/playlist.json -o desktop
|
||||||
```
|
```
|
||||||
|
@ -28,3 +28,29 @@ Running `cargo build` ends up in a binary which depend on **libc.so**. But you c
|
|||||||
Compile with: `cargo build --release --target=x86_64-unknown-linux-musl`.
|
Compile with: `cargo build --release --target=x86_64-unknown-linux-musl`.
|
||||||
|
|
||||||
This release should run on any Linux distro.
|
This release should run on any Linux distro.
|
||||||
|
|
||||||
|
### Compile from Linux for macOS
|
||||||
|
|
||||||
|
Add toolchain:
|
||||||
|
|
||||||
|
```Bash
|
||||||
|
# for arm64
|
||||||
|
rustup target add aarch64-apple-darwin
|
||||||
|
|
||||||
|
# for x86_64
|
||||||
|
rustup target add x86_64-apple-darwin
|
||||||
|
```
|
||||||
|
|
||||||
|
Follow this guide: [rust-cross-compile-linux-to-macos](https://wapl.es/rust/2019/02/17/rust-cross-compile-linux-to-macos.html)
|
||||||
|
|
||||||
|
Or setup [osxcross](https://github.com/tpoechtrager/osxcross) correctly.
|
||||||
|
|
||||||
|
Add **osxcross/target/bin** to your **PATH** and run cargo with:
|
||||||
|
|
||||||
|
```Bash
|
||||||
|
# for arm64
|
||||||
|
CC="aarch64-apple-darwin20.4-clang -arch arm64e" cargo build --release --target=aarch64-apple-darwin
|
||||||
|
|
||||||
|
# for x86_64
|
||||||
|
CC="o64-clang" cargo build --release --target=x86_64-apple-darwin
|
||||||
|
```
|
||||||
|
@ -189,6 +189,7 @@ pub fn play(rt_handle: &Handle) {
|
|||||||
error!("Encoder error: {e}")
|
error!("Encoder error: {e}")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
kill_dec = true;
|
||||||
live_on = false;
|
live_on = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user