Skip to content

Releases: ppcdn-org/ppobs

ppobs v32.1.2-rc003

ppobs v32.1.2-rc003 Pre-release
Pre-release

Choose a tag to compare

@Elon666-ai Elon666-ai released this 17 Sep 04:13

ppobs v32.1.2-rc003

Hardens the HEVC/H264 multitrack feature introduced in rc002 (mostly the SRT side, which shipped with several real bugs), adds a dedicated SRT service option, and adds ppobs device authentication.

HEVC/H264 Multitrack over SRT

  • Fixed: enabling multitrack over SRT failed outright ("MPEG-TS simulcast requires H264 for every video encoder") - a pure HEVC ladder is now accepted, mixed H264+HEVC in one connection is still rejected
  • Fixed: the H264 connection could publish with no full-resolution base layer when the main stream encoder was HEVC (a 3-layer config only reached the server as 2 tracks), affecting both Advanced and Simple output modes
  • Fixed: the HEVC ladder could end up sharing the H264 connection's main encoder instead of getting its own, breaking the two-connection split
  • Fixed: HEVC frames published over SRT were missing their timestamp SEI, so P2P delay showed N/A on the HEVC path while H264 worked normally
  • Fixed: the H264 ladder silently inherited the HEVC encoder's bitrate setting, so both codecs published at the same total bitrate regardless of what was configured for each
  • Fixed: the live traffic stats (status bar kbps, Stats window) only counted the H264 connection's bytes sent, undercounting total upload by the entire HEVC ladder whenever multitrack was active over SRT
  • Fixed: an integer-division bug made the SRT session summary always report 0.0% for retransmission/drop rates below 100%

HEVC/H264 Multitrack over WHIP

  • Fixed: an HEVC main encoder plus a 3-layer simulcast ladder could publish an SDP offer with 4 rid attributes instead of 3, which the server rejects
  • Fixed: the H264 base layer could land in an encoder slot the server-side offer parser never reaches, silently dropping it from the offer
  • Added: upfront validation that rejects a publish URL/config combination that can't actually work (e.g. multitrack against a codec-pinned URL, or a stream encoder codec that doesn't match a pinned URL) instead of looping through silent reconnects
  • Added: both codec URLs are now derived automatically from the one configured stream URL instead of requiring the user to hand-write the H264 path
  • Fixed: a service-settings aliasing bug that made both the H264 and HEVC connections publish to the same (HEVC) path

Streaming Service Selection

  • Added a dedicated "SRT" entry in the service dropdown (previously only reachable via "Custom..." with a manually-typed srt:// URL), positioned before WHIP and Custom
  • SRT shares all of Custom's existing configuration (server/key/auth fields, PPCenter integration, simulcast/multitrack support) under the hood

Device Authentication

  • ppobs now registers this machine's hardware identity (disk serial or LAN MAC) with ppcenter before publishing and uses the server-assigned device ID for the publish request, falling back to the previous random UUID if registration fails

Stability

  • Fixed a crash on shutdown (dangling pointer) that could occur when loading H264 encoder settings in multitrack mode
  • Fixed a crash in SRT/MPEG-TS timestamp handling caused by unvalidated codec/time-base state
  • Fixed Advanced output ignoring encoder settings saved in the Settings dialog for several encoder types, so streaming could silently run on stale bitrate/keyint values instead of what was configured

ppobs v32.1.2-rc002

ppobs v32.1.2-rc002 Pre-release
Pre-release

Choose a tag to compare

@Elon666-ai Elon666-ai released this 12 Sep 05:59

ppobs v32.1.2-rc002

This version includes enhanced WHIP/P2P streaming, HEVC/H264 multi-track simultaneous broadcast, SRT simultaneous broadcast, optimized live streaming settings, improved image quality processing capabilities, and stability fixes.

WHIP / P2P Streaming

  • Added WHIP HEVC + H264 multi-track streaming
  • H264 and HEVC use separate WHIP sessions
  • Each session carries audio separately
  • Supports multi-layer Simulcast for H264/HEVC
  • Automatically matches the corresponding vendor's H264/HEVC encoder
  • Provides explicit prompts when the HEVC encoder is unavailable
  • Added WHIP P2P NAT detection
  • Detects the publisher's NAT type before streaming
  • Persistentizes device ID
  • Automatically downgrades to Edge-only when NAT detection fails, without blocking streaming
  • Added PPCenter STUN service deployment and configuration
  • Enhanced P2P WebSocket signaling security
  • Forces remote signaling to use wss://
  • ws:// only allows localhost/loopback
  • Fixed IPv6 loopback address handling
  • Fixed WHIP connection establishment, reconnection, and termination processes
  • Faster disconnection recovery
  • Added reconnect watchdog
  • Limit reconnection frequency to avoid duplicate reconnection threads
  • Fixed data transmission race condition when connection is closed
  • Fixed residual reconnection after degrade WebSocket stops
  • Fixed issue where the encoder remained active after WHIP output failure
  • Fixed issue where WHIP output was stuck at 0 bitrate
  • Support for {ppcenter_appid} expansion
  • WHIP endpoint supports App ID placeholders
  • Custom SRT URL's streamid also supports App ID placeholders

Simulcast / SRT

  • Added single SRT connection to carry multiple Simulcast streams
  • Each video encoder outputs an independent H264 elementary stream
  • Support for routing video packets by track_idx
  • Each layer independently waits for a keyframe before starting transmission
  • Preserves the high-to-low Simulcast hierarchy order
  • Creates independent FFmpeg AVStream and encoding state for each layer
  • SRT Simulcast is limited to a maximum of 4 layers.
  • WHIP Simulcast is also limited to a maximum of 4 layers.
  • SRT multi-channel video requires all video encoders to be H.264.
  • Fixed compatibility issues with the first H.264 Access Unit of the hardware encoder.
  • Supports valid Annex-B leading zeros.
  • Supports 4-byte AVCC to Annex-B conversion.
  • Correctly cleans up FFmpeg/MPEG-TS state when initialization fails.
  • Custom services no longer display inapplicable independent "Multitrack Video Settings".
  • Retains the unified "Simultaneous Playback Configuration" entry for custom services and WHIP.

Push Streaming Limitations

WHIP push streaming has added hard limits, applicable to all startup methods and reconnection paths:

  • Maximum landscape resolution: 3840x2160
  • Maximum portrait resolution: 2160x3840
  • Maximum FPS: 60
  • Maximum video bitrate: 10000 Kbps
  • H264, HEVC, and all Simulcast layers are validated separately.
  • Output stops and a clear error is logged when limits are exceeded.
  • Settings interface provides advance warning of resolution and FPS exceeding limits.

Live Streaming Settings

  • Unified configuration items for custom services and WHIP:
  • Endpoint
  • Simultaneous Broadcast
  • Authentication Center
  • Interval Live Streaming Configuration
  • Custom and WHIP endpoints are remembered separately.
  • Endpoint addresses will not be used interchangeably when switching between the two services.
  • Authentication center configuration is also displayed for custom services.
    Custom service authentication center fields are saved to the corresponding service settings.
    Custom services retain the user-selected audio encoder.
  • No longer automatically switching or hiding encoders such as Opus based on protocol recommendations.
  • Simultaneous broadcast encoders are uniformly limited to 4 layers.

Image Quality and Video Processing

  • Added Clarity filter
  • Added Temporal Denoise filter
  • Added basic Beauty filter
  • Added face beautification/stylization capabilities
  • Added ROI-Related Capabilities
  • Manual ROI selection
  • Decoupling ROI from WHIP service settings
  • Moving ROI settings to the video settings page
  • Adding live streaming quality score
  • Calculating video quality score and PSNR
  • Supporting quality degradation alerts
  • Supporting quality score preview overlays
  • Adjusting quality processing defaults and UI text
  • Enhancing QSV/hardware encoder bitrate cap handling

Network and Clock

  • Adding Windows network adapter type recognition
  • Ethernet
  • Wi-Fi
  • Cellular
  • Other/Unknown
  • Adding the following to RTMP and WHIP logs:
  • Network interface card description
  • Network interface card type
  • Uplink and downlink speeds
  • Adding active network adapter logs at startup
  • Improved NTP clock calibration
  • Anchoring the calibrated clock to the system wall time
  • Improved streaming timestamp stability

ppobs 32.1.2-rc001

ppobs 32.1.2-rc001 Pre-release
Pre-release

Choose a tag to compare

@Elon666-ai Elon666-ai released this 20 Aug 08:33

What's new since v32.1.2-rc1

WHIP Simulcast per-layer configuration

  • Per-layer "Follow Main" resolution/bitrate, with a proportional-to-pixel-area fallback formula instead of an unrelated per-slot halving.
  • Follow Main state is no longer persisted as a stale override while checked, and live-refreshes (width/height/bitrate) when entering the Stream page or right after a Video settings Apply, without discarding unsaved edits.
  • mainBitrate is read from whichever output mode (Simple/Advanced) is actually active. Total Layers UI cap raised from 4 to 5.
  • ppcenter_stream is parsed from the WHIP server URL's path instead of a separate, redundant input field.

Scheduled live broadcasting

  • Free-form time slots with per-slot weekday repeat, including slots that wrap past midnight (e.g. 22:00-06:00) - overlap validation and day-of-week matching both account for the wrapped tail landing on the next day.
  • A master feature-enable switch, separate from whether a schedule is currently running, with the control-panel button disabled/tooltipped accordingly. Manual streaming and scheduled streaming are mutually exclusive in both directions.
  • Startup safety: the schedule switch is force-cleared and initialization is deferred until after the main window is shown, so a schedule left running from a previous session can never auto-start streaming.

WHIP reliability

  • 401/403/404 on the WHIP POST is treated as a permanent rejection (bad key/path/permissions) instead of retrying forever; other failures still signal a normal reconnectable disconnect.
  • WHIP reconnect timing (ICE recovery wait, linear reconnect backoff) is now configurable from Settings > Output > Advanced instead of hardcoded.

Misc

  • Language list pins English/Simplified/Traditional Chinese to the top.
  • Title bar shows a literal version string sourced from the VERSION file at build time.
  • Help > Release Notes points at this repo instead of upstream OBS.

Portable zip is attached below; debug symbols are archived separately and not attached to this release.