| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| ffplayout-v2.6.0_desktop_x86_64-pc-windows-msvc.zip | 2026-10-02 | 11.0 MB | |
| ffplayout-v2.6.0-1.x86_64.rpm | 2026-10-02 | 7.0 MB | |
| ffplayout-v2.6.0_server_x86_64-unknown-linux-gnu.tar.gz | 2026-10-02 | 9.7 MB | |
| ffplayout_v2.6.0-1_amd64.deb | 2026-10-02 | 6.6 MB | |
| ffplayout-v2.6.0-1.aarch64.rpm | 2026-10-02 | 6.7 MB | |
| ffplayout-v2.6.0_server_aarch64-unknown-linux-gnu.tar.gz | 2026-10-02 | 9.2 MB | |
| ffplayout_v2.6.0-1_arm64.deb | 2026-10-02 | 5.9 MB | |
| ffplayout-v2.6.0_desktop_aarch64-unknown-linux-gnu.tar.gz | 2026-10-02 | 11.8 MB | |
| ffplayout-v2.6.0_desktop_x86_64-unknown-linux-gnu.tar.gz | 2026-10-02 | 12.5 MB | |
| README.md | 2026-10-02 | 4.2 kB | |
| v2.6.0 source code.tar.gz | 2026-10-02 | 44.6 MB | |
| v2.6.0 source code.zip | 2026-10-02 | 44.8 MB | |
| Totals: 12 Items | 169.9 MB | 21 | |
ffplayout v2.6.0
This release introduces multiple live inputs, configurable loudness processing for the entire program, and output container metadata. It also improves timestamp recovery, desktop audio buffering, and diagnostics for long-running live streams.
Multiple RTMP and SRT live inputs (experimental)
- Configure up to eight RTMP and SRT listeners per channel, with independent protocol and demuxer options.
- Assign listener priorities to select between inputs becoming ready simultaneously. An active live input continues until it ends; higher-priority listeners do not interrupt it.
- Configure SRT encryption on supported FFmpeg builds.
- Select input formats explicitly when needed, including
live_flvfor RTMP andmpegtsfor SRT.
Listener configuration changes take effect after restarting channel playback.
Program loudness and dynamics processing (experimental)
Loudness processing can now apply to all sources, live inputs only, or be disabled.
- Combine LUFS-based gain adjustment with a stereo-linked compressor and true-peak limiting.
- Use a fixed 10 ms lookahead buffer for peak limiting, with coordinated audio and video timing.
- Detect quiet passages and pauses to limit unwanted gain increases, while respecting intentional fades.
- Configure compressor threshold, ratio, attack, hold, release, and knee.
- Adjust pause detection and the limits and speed of output loudness correction.
- Monitor program-output audio levels and loudness in the frontend.
Processing parameters can be updated during playback; changing the processing scope requires a restart.
Output container metadata (experimental)
Configure container metadata through the frontend and API, including title, copyright, and MPEG-TS service information.
Metadata support depends on the selected output format. Container metadata does not automatically create HLS playlist tags, and desktop output does not support these settings.
Live-input timestamp recovery
- Recover from isolated timestamp jumps and sustained source clock resets.
- Correct video timestamp discontinuities before frame-rate conversion to avoid excessive repeated frames.
- Recover from persistent audio timing drift without discarding valid initial audio offsets.
- Preserve intentional audio delays and genuine gaps.
- Keep video moving when audio temporarily disappears.
These changes address the persistent audio-loss scenario following timestamp discontinuities reported in #986.
More useful ingest diagnostics
Live-input diagnostics now provide context for startup failures, inactivity timeouts, and prolonged queue backpressure.
Messages identify the listener and processing stage where appropriate. Backpressure warnings are emitted for sustained blocking, with a recovery message when it clears, keeping routine operation quiet.
Desktop output and performance
- Improve desktop audio buffering and underrun diagnostics.
- Move error reporting out of the real-time audio callback.
- Reduce audio-processing overhead through reusable buffers and SIMD acceleration on supported x86 CPUs.
- Bound loudness-analysis memory usage during long-running playback.
Interface and backend improvements
- Lock playback controls while a channel is running, with an explicit unlock action and clearer disabled states.
- Improve recovery from failed initial setup and channel initialization.
- Harden authentication verification and media path validation.
- Reorganize backend modules and tests, and expand regression coverage for playback, audio processing, and live ingest.
- Update dependencies.
Upgrade notes
- New audio configurations enable loudness processing for all sources by default. Existing configurations retain their previous behavior: live-only processing or disabled.
- Audio configuration fields previously named
live_loudness_*are now namedloudness_*. API clients must use the new names; the old names are no longer accepted. - Use
loudness_scopeto selectall,live, oroff. - Database changes are applied automatically when upgrading from v2.5.0.