Releases: CasparCG/server
v2.5.0 Stable
Important
We recommend running CasparCG 2.5 on CPUs which support AVX2. Officially Chrome claims to require AVX2, and it is required for some of our in-progress HDR support.
Intel CPUs based on Haswell or later support this, which were first released to consumers in 2013, or 2014 for servers.
Starting with CasparCG 2.6, this will become a requirement.
Make sure to install the latest MSVC runtime, the compiler update requires a newer version than 2.4 https://aka.ms/vc14/vc_redist.x64.exe
Core
Improvements
- Initial support for HDR. This is limited to a subset of producers and consumers at this stage.
- Build for Windows with VS2022
- Rework linux builds to produce ubuntu deb files
- Update ffmpeg to 7.0
- Reimplement mixer transforms, to handle routes correctly
- Support more pixel formats from ffmpeg, to preserve colour accuracy better
- Support running on headless linux
- Transitions: Additional behaviours
Fixes
- Build with boost 1.85/1.86/1.87/1.88
- Build with ffmpeg 7.1
- Only produce mixed frames on channels which have consumers
- Routed channels not compositing correctly when channel used a MIXER KEY
- Handle audio for fractional framerates properly
- Gracefully exit on SIGINT and SIGTERM
Producers
Improvements
- FFmpeg: Support loading with a scaling-mode, to configure how clips get fit into the channel
- FFmpeg: Support more pixel formats without cpu conversion
- FFmpeg: Enable alpha for webm videos
- Image: Support loading with a scaling-mode, to configure how images get fit into the channel
- Image: Replace freeimage with ffmpeg
- HTML: Update CEF to 142
- HTML: Support audio
Fixes
- Route: Use full field rate when performing i->p channel route
- HTML: Gracefully handle page load errors
- HTML: Always set cache path
Consumers
Improvements
- Screen: Set size and position from AMCP
- Screen: Improve performance
- Image: Propagate AMCP parameters from PRINT command
- FFmpeg: Remove unnecessary forced conversion to YUVA422
- Decklink: Support explicit yuv output (requires AVX2)
- Decklink: Allow selecting device by hardware persistent id
Fixes
- FFmpeg: Correctly handle PTS on frame drop
Full Changelog: v2.4.3-stable...v2.5.0-stable
v2.4.3 Stable
Core
Fixes
- Improve error handling for invalid config files #1571
- Flush logs before exit #1571
- Check audio cadence values look sane before accepting format #1588
- Cross-channel routes from progressive to interlaced showing lots of black #1576
- Transition: ignoring some transforms of input frames #1602
Producers
Fixes
- FFmpeg: fix crash on invalid frame header
- Decklink: Crash with ffmpeg 7 #1582
- HTML: Fix crash during uninit on exit
- Image: update state during init #1601
Consumers
Fixes
- FFmpeg: set frame_rate for rtmp streams #1462
Full Changelog: v2.4.2-stable...v2.4.3-stable
v2.4.2 Stable
Consumers
Fixes
- Decklink: fix support for driver 14.3 and later
Full Changelog: v2.4.1-stable...v2.4.2-stable
v2.4.1 Stable
Core
Fixes
- Fix bad config file examples
- Fix
casparcg_auto_restart.batnot starting scanner - Revert removal of tbbmalloc, due to notable performance loss on windows
- Supress some cmake build warnings
- Build failure when doxygen installed on system
- Build failures with ffmpeg 7.0
- Revert RPATH linking changes
Producers
Fixes
- FFmpeg: Ignore ndi:// urls
- FFmpeg: Using both in and seek could result in incorrect duration
- Route: Race condition during destruction
- Image: Update freeimage on windows with some CVE fixes and failures with certain pngs
- Image: Respect EXIF rotate flag
- NDI: list local sources
Consumers
Fixes
- Decklink: subregion copy not respecting frame height
- Decklink: subregion vertical offset
- Decklink: subregion height limited with some formats
Full Changelog: v2.4.0-stable...v2.4.1-stable
v2.4.0 Stable
Changes since 2.4.0 RC 1:
Core
Improvements
- Support 4K DCI frames
- Build: Allow configuring diag font path at build time
- AMCP: Add CALLBG command to perform CALL on background producer
Fixes
- OSC: Background state not being produced
- Scanner: resolve issues with database not being updated
Producers
Improvements
- HTML: Expose
cache-pathsetting
Fixes
- FFmpeg: Unable to play files with extra dots in filenames
- FFmpeg: Support parameters with name containing a dash
- FFmpeg: Audio channels being swapped unexpectedly
Changes since 2.3.3
Core
Improvements
- Custom resultions can be specified in casparcg.config
- Interlaced mixer pipeline to ensure field accuracy
- Preserve unicode characters in console input/output
- Producers to be run at startup can be defined in casparcg.config
- Support 8K frames
- Support 4K DCI frames
- Remove undocumented CII and CLK protocol implementations
- Config parameter can be an absolute system path, not just relative to the working directory
- AMCP: Add CLEAR ALL command
- AMCP: Command batching syntax
- AMCP: LOAD/LOADBG/PLAY commands accept a CLEAR_ON_404 parameter, to instruct the layer to be cleared when the requested file was not found
- AMCP: Add commands to subscribe and unsubscribe to OSC on any port number
- AMCP: Add CALLBG command to perform CALL on background producer
- Build: Require C++17 for building
- Build: Support newer versions of Boost
- Build: Support newer versions of TBB
- Build: Disable precompiled headers for linux
- Build: Support VS2022
- Build: Replace nuget and locally committed dependencies with direct http downloads
- Build: Allow configuring diag font path at build time
- Linux: Support setting thread priorities
- Linux: Initial ARM64 compatibility
- Linux: Rework build to always use system boost
- Linux: Rework build process to better support being build as a system package
- Logging: add config option to disable logging to file and to disable column alignment
- Transitions: Support additional audio fade properties for STING transition
Fixes
- Crash upon exiting if HTML producer was running
- AMCP: Ensure all consumers and producers are reported in
INFOcommands - AMCP: Deferred mixer operations were not being cleared after being applied
- AMCP:
LOADcommand would show a frame or two of black while new producer was loading - OpenGL: Fix support for recent Linux drivers
- Linux: Fix endless looping on stdin
- Route: Fix error when clearing layer
- Transitions: Fix wipe duration
Producers
Improvements
- Decklink: Require driver 11.0 or later
- Decklink: Scale received frames on GPU
- FFmpeg: Update to v5.1
- FFmpeg: Improve performance
- FFmpeg: Allow specifying both SEEK and IN for PLAY commands
- HTML: Update to CEF 117
- HTML:
CALL 1-10 RELOADto reload a renderer - HTML: Expose
cache-pathsetting - NDI: Upgrade to NDI5
- System Audio: Allow specifying output device to use
Fixes
- Decklink: Log spamming when using some input formats
- FFmpeg: Prevent loading unreadable files
- FFmpeg: Unable to play files with unicode filenames
- FFmpeg: Don't lowercase filter parameters
- FFmpeg: Support parameters with name containing a dash
- HTML: media-stream permission denied
- HTML: Expose angle backend config field, the best backend varies depending on the templates and machine
- HTML: Crash when multiple iframes were loaded within a renderer
- Image: Improve file loading algorithm to match the case insensitive and absolute path support already used by ffmpeg
Consumers
Improvements
- Artnet: New artnet consumer
- Decklink: Configure device duplex modes in casparcg.config
- Decklink: Output a subregion of the channel
- Decklink: Add secondary outputs in a consumer, to ensure sync when used within a single card
- iVGA: Remove consumer
- NDI: Upgrade to NDI5
Fixes
- Decklink: Fix stutter when loading clips
- FFmpeg: Fix RTMP streaming missing headers
- NDI: dejitter
v2.4.0 RC 1
Changes since Beta 1:
Important
There is a known bug in the version of media-scanner included in this release.
It is recommended to replace it with v1.3.2 or newer from https://github.com/CasparCG/media-scanner/releases
Core
Improvements
- Config parameter can be an absolute system path, not just relative to the working directory
- Linux: Rework build to always use system boost
- Linux: Rework build process to better support being build as a system package
- Audio: 16 channel audio
Fixes
- Crash upon exiting if HTML producer was running
- AMCP:
LOADcommand would show a frame or two of black while new producer was loading
Producers
Fixes
- FFmpeg: Unable to play files with extra dots in filenames
- FFmpeg: Don't lowercase filter parameters
- HTML: Debugger connection closes
- HTML: Expose angle backend config field, the best backend varies depending on the templates and machine
- HTML: Crash when multiple iframes were loaded within a renderer
- Image: Improve file loading algorithm to match the case insensitive and absolute path support already used by ffmpeg
v2.4.0 Beta 1
CasparCG 2.4.0 Beta 1
Core
Improvements
- Custom resultions can be specified in casparcg.config
- Interlaced mixer pipeline to ensure field accuracy
- Preserve unicode characters in console input/output
- Producers to be run at startup can be defined in casparcg.config
- Support 8K frames
- Remove undocumented CII and CLK protocol implementations
- AMCP: Add CLEAR ALL command
- AMCP: Command batching syntax
- AMCP: LOAD/LOADBG/PLAY commands accept a CLEAR_ON_404 parameter, to instruct the layer to be cleared when the requested file was not found
- AMCP: Add commands to subscribe and unsubscribe to OSC on any port number
- Build: Require C++17 for building
- Build: Support newer versions of Boost
- Build: Support newer versions of TBB
- Build: Disable precompiled headers for linux
- Build: Support VS2022
- Build: Replace nuget and locally committed dependencies with direct http downloads
- Linux: Support setting thread priorities
- Linux: Initial ARM64 compatibility
- Logging: add config option to disable logging to file and to disable column alignment
- Transitions: Support additional audio fade properties for STING transition
Fixes
- AMCP: Ensure all consumers and producers are reported in
INFOcommands - AMCP: Deferred mixer operations were not being cleared after being applied
- OpenGL: Fix support for recent Linux drivers
- Linux: Fix endless looping on stdin
- Route: Fix error when clearing layer
- Transitions: Fix wipe duration
Producers
Improvements
- Decklink: Require driver 11.0 or later
- Decklink: Scale received frames on GPU
- FFmpeg: Update to v5.1
- FFmpeg: Improve performance
- FFmpeg: Allow specifying both SEEK and IN for PLAY commands
- HTML: Update to CEF 117
- HTML:
CALL 1-10 RELOADto reload a renderer - NDI: Upgrade to NDI5
- System Audio: Allow specifying output device to use
Fixes
- Decklink: Log spamming when using some input formats
- FFmpeg: Prevent loading unreadable files
- FFmpeg: Unable to play files with unicode filenames
- HTML: media-stream permission denied
Consumers
Improvements
- Artnet: New artnet consumer
- Decklink: Configure device duplex modes in casparcg.config
- Decklink: Output a subregion of the channel
- Decklink: Add secondary outputs in a consumer, to ensure sync when used within a single card
- iVGA: Remove consumer
- NDI: Upgrade to NDI5
Fixes
- Decklink: Fix stutter when loading clips
- FFmpeg: Fix RTMP streaming missing headers
- NDI: dejitter
v2.3.3 LTS Stable
Improvements:
- Image Scroll Producer
v2.3.2 LTS Stable
Producers
Fixes
- Packages: Update TBB library to v2021.1.1 - fixes CPU and memory growth when deleting threads
- FFmpeg: Fix possible deadlock leading to producer not being cleaned up correctly
v2.3.2 LTS Beta
Producers
Fixes
- Packages: Update TBB library to v2021.1.1 - fixes CPU and memory growth when deleting threads
- FFmpeg: Fix possible deadlock leading to producer not being cleaned up correctly