This is the multi-page printable view of this section. Click here to print.
Ateliere Live News
Ateliere Live 9.0.0
Ateliere Live 9.0.0 is the ninth major release of Ateliere Live. This release features usage of feedback slots as inputs in the video mixer, improvements to the multiview, and many bug fixes for improved stability.
See the Release documentation for more details.
Feedback slots as inputs
The video mixer now supports feedback of outputs to use them as inputs in the input nodes. This opens up a new world of possibilities and flexibility. One way to utilize this new feature is to design the rendering engine config to create composites,
sometimes referred to as “super sources”, ready to be cut to. In the rendering engine config, multiple separate graphs can be created. For example, one main graph with a transition node to cut between sources, and then multiple composite graphs,
connecting one or more select nodes via processing nodes such as chroma_key node, or transform and crop nodes to output nodes. The result of these output nodes in the sub graphs can then be used as inputs to the main graph.
To be able to use an output as an input, it must be fed back by adding the output node to an output_mapping in the rendering engine config and give the mapping a feedback_input_slot. The output can then be referenced in any of the input nodes (such as select or transition) in
the video mixer graph by the feedback input slot number.
The feedback slots can also be chained, so that one subgraph can reference a feedback slot of another subgraph, which can in turn use the output of another subgraph as input.
This feature is a handy tool to easily create pre-made picture-in-picture and other composites that can later be cut to, just as one cut to a regular source, similar to how M/Es are used in a traditional mixer, but with much more flexibility.
Settable format
In earlier releases the format of the stream, i.e. the resolution and frame rate, has been magically set based on the first stream that is connected to a Rendering Engine. To make this format more explicit, this release introduces
a format endpoint in the REST API, /pipelines/{uuid}/renderingengine/format with PUT and GET endpoints. Before any streams are set up with the REST API, the format endpoint should be called, to set the desired frame rate and resolution.
Then new streams can be connected with the same frame rate and resolution, as before. Currently only 50 FPS is supported, but this endpoint will pave the way for support for other frame rates in future releases. At startup the default format is set to 1920x1080 50 FPS.
Improvements to the multiview
With the new feedback slots as inputs feature, keeping track of which sources are live on air is more important than ever. Because of this, now all sources included in the program and preview outputs are marked with red and green borders
in the multiview outputs, not only the backgrounds selected in the transition node. When feedback slots are referenced in the program or preview branch of the graph, all input slots included in these subgraphs will be marked with the correct border.
Another useful new feature with the multiview is the ability to embed a stereo audio track from any of the audio mixer outputs. This way the program audio output, or an aux audio output can be embedded to the multiview stream, reducing the
need to stream both the multiview and another output, if you just want the multiview video with one of the audio outputs.
Bug fixes
This release contains a bunch of bug fixes, mainly focused on the control protocol and control panels.
Ateliere Live 8.0.0
Ateliere Live 8.0.0 is the eight major release of Ateliere Live. This release features a completely overhauled control command API which allows, among other things, control panels to be in sync with each other, regardless of their location.
See the Release documentation for more details.
New control command API
The control command API used by the Control Panels to communicate with the Rendering Engine has been replaced by a new, improved one. The new protocol uses JSON based messages and operates on a JSON tree model which describes the current state of the Rendering Engine. The new protocol deserves a document all of its own, but some major new features and improvements include:
- Synched control panels: multiple control panels connected to the same production will now have their states synchronized, making remote production from multiple locations much easier.
- Multi-part messages: a single message from a control panel might contain multiple sub-messages that will be executed on the same frame. This makes it possible to, for instance, cut to a media player source and press play on it at the exact same frame
- Self-documenting API: the user of the API can send
describemessages to resources within the API, to get the documentation for a specific part of the state tree. - Named parameters of commands: long gone are the times when you needed to look up the order of the positional arguments for mapping audio strips every time you use that command. Instead all parameters to commands in the API have descriptive names and proper type and range checking.
- Streaming parameters: a new concept to allow the user to start streaming continuously updating data, such as the Media Players play head position or the peak audio loudness levels in the audio mixer, in real time.
Runtime replacement of Rendering Engine config
Previous release of Ateliere Live added support for configuring the Rendering Engine through a config file provided at startup of the application. In this release the feature has been improved by allowing the user to change and read the configuration of an already running Rendering Engine through the REST API. This greatly improves the usability of the Rendering Engines, as the user does not have to keep track of which config file was loaded at startup. In a cloud environment it is now easier to re-use resources, as configuring a running Rendering Engine for a specific production can be done at runtime rather than at launch.
Create HTML browsers and Media Players from REST API
Another improved feature in the REST API is the possibility to create, list and close HTML browsers and Media Players from the REST API, just as Streams from the Ingests can be created, listed and closed. This makes it easier to create orchestration systems that configures productions, as these can now create both the camera sources and virtual sources of the next production. To actually operate the HTML browsers and Media Players, a Control Panel is used. The old way of creating and closing the HTML browsers and Media Players through the Control Panel control API can also be used.
Rendering Engine metrics
This release adds a number of new metering points related to the Rendering Engine to the REST API and Prometheus metrics endpoints. This includes different metrics to keep track of the number of rendered frames, as well as detailed counters of the rendering time of each frame. This is a welcome addition for monitoring the performance of a running production to ensure your hardware is not overloaded.
Multiview improvements
The video in the multiview no longer flashes to black in case the frame freezes. Instead the latest previously known frame is repeated, which is way more pleasant for the eyes of the production staff. To still notify the staff of a lost frame, a small red triangle icon pops up in the lower right corner when a frame is repeated.
Ateliere Live 7.0.0
Ateliere Live 7.0.0 is the seventh major release of Ateliere Live. This release greatly improves the ability to customize the video and audio mixer in the Rendering Engine along with a bunch of new and improved features in the internal audio mixer.
See the Release documentation for more details.
Configurable video and audio mixers
The Rendering Engine has granted a major new feature in this release, as it is now possible to set up the mixers using a config file passed to the application at startup. This will allow the user to freely design the video mixer node graph, set up multiple audio outputs with post fader auxes and to create multiple output streams that pick and choose from output points in the video node graph and among the output buses of the audio mixer. This will not only make it possible to re-create all the effects possible to make with M/E stages in traditional hardware video mixers, but also to make even more advanced mixer effects. Also, multiple outputs means it is now possible to achieve effects such as “clean video outputs” without graphics overlays but with the same audio as in the main program output, create previews of stages of the video mixer to show in the multi-viewer, to allow chroma keys, picture-in-picture effects and so on to be set up and previewed in a multiview before being shown in the live feed. For more details, refer to the new Rendering Engine configuration documentation page.
Multiple audio mixer outputs and mix-minus support
With the configuration support mentioned above the system has also received a long awaited feature: support for mix-minus. When setting up outputs from the internal audio mixer, output buses can be configured to “follow” other output buses, i.e. act as a post fader aux send for another bus. This means that you can have your program bus on one audio mixer output, and a mix-minus output, where you remove the sound of your host, on another output. The rest of the audio in that output will follow whatever you do in your program output (except for the audio of your host’s microphone of course).
Two other improvements to the audio mixer includes commands to mute a channel in a specific output. This is useful as the volume level is kept intact until you un-mute the input. The muting is controlled per input in each output bus and the mixer also features a mute control for each output bus, so that all audio can be muted at once in that output. For those who are into automatization of workflows, the new auto fader will come in handy. With this new command you can tell the audio mixer to move any volume fader to a specific level over a specified time period. Perfect for automatically fading the audio from a studio situation to a pre recorded video or vice versa.
Enhanced EQ
In this release the EQ has been revamped, now allowing up to ten EQ filters to be configured. All filters are initially turned off, but can be individually turned on and configured to the required type, allowing much more flexibility than the old three-filter EQ where each filter only could be set to one of three types. The new EQ supports seven different types of filters. Among others, the new notch filter, which has a very narrow band which makes it useful for cutting specific frequencies containing humming noises or the sound of the wind.
Improved REST API
The REST API has been restructured resulting in a new version for the endpoints, /api/v3. The biggest change is that the concept of Control Receivers has been almost completely hidden in the API and the relation of Control Receivers and Pipelines has changed, so that each Pipeline now always has exactly one Control Receiver. Since this makes it a one-to-one mapping, the UUIDs of Control Receivers has been removed and instead the UUID of the Pipeline is used when setting up Control Connections with the REST API, which makes it much easier to use the API. This also means all endpoints containing /pipelines/{uuid}/controlreceivers have been removed, making the REST API more easy to overview and understand.
In addition to this, the response payloads of some endpoints have been reformatted to make them easier to understand and to traverse.
For more details, see the upgrade instructions.
Ateliere Live 6.0.0
Ateliere Live 6.0.0 is the sixth major release of Ateliere Live. Two major new features in this release are the built-in media playback and support for SRT sources in the Ingest.
See the Release documentation for more details.
Built-in media playback
The Rendering Engine now supports built-in playback of media files using FFmpeg under the hood. This allows for playing vignettes, pre-recorded material video loops and much more, recorded in a wide variety of formats. The media files are played back directly in the Rendering Engine, meaning there is no extra bandwidth required from the Ingests to the Rendering Engine as the material is already located on the Rendering Engine server. The player supports the obvious features such as play, pause and seeking the media files, but can also be set to play just a section of the entire clip, or to automatically loop a section or the entire clip. Multiple media players can be created and operated independent from each other, making it possible to cut directly from one pre-recorded clip to another. To aid the production crew in the control room it is also possible to access data with the current state of the media players from the build-in HTML renderer. By creating HTML pages that utilizes this data, it is possible to display the remaining time and other information about clips in a view in the multi-viewer, or even render time codes over the outgoing stream, for instance to display on a feedback monitor in the studio for the host to know how much time is left of the clip and how long until they cut back to the studio.
SRT ingest
The Ingest application has received a new input interface, for SRT sources. This type of source is a bit different from the already supported types, as SRT sources are not discovered and created automatically. To set up a new SRT input, the user must send a request to the REST API to create a new SRT receiver on a certain Ingest. Here it is possible to select the usual SRT settings, such as “caller” or “listener” mode, re-transmission latency, passphrase and of course the hostname and port to either listen for an SRT connection on, or to call and pull the SRT stream from. Once set up, the SRT source will stay there and will automatically reconnect in case the sending application would disappear due to a network or application failure. The current implementation has support for MPEG-TS with H.264/AVC or HEVC encoded video and AAC encoded audio.
Debian packages
From this release the binaries are distributed as .deb packages, which will simplify installation. This will make most of the smaller 3rd party dependencies install automatically and the applications will be installed to a default location where they are easily found by all users on a machine. The .deb-packages also make it possible for the user to install only the parts of the system which is of interest for that particular machine. As an example, on a machine that will only run an Ingest application, the user can install only the ingest .deb-package and ignore the packages and dependencies needed for a machine running the Rendering Engine or Control Panels.
Ateliere Live 5.0.0
Ateliere Live 5.0.0 is the fifth major release of the Ateliere Live system. This release adds HTML template support, chroma keying and WebSocket support for Control Panel GUIs among other things.
See the Release documentation for more details.
Built-in HTML rendering
This release features a new HTML rendering module based on the well known Chromium engine (the same web browser engine as used in Google Chrome). This allows rendering HTML graphics templates right in the Rendering Engine where the rendered page is fed into the Rendering Engine though an input slot, just like any video from an Ingest. Name signs, tickers, logos, transition graphics, you name it! It even supports having multiple HTML templates loaded, feeding their rendered pages to different input slots, in case of productions with many different graphical elements. The HTML templates can be controlled from the Control Panels by sending JavaScript commands, making it very flexible and powerful. Since the HTML templates are regular webpages JavaScript can be used to make them automatically update themselves or download the data to display. To ensure the templates are rendered exactly the same way in case multiple Pipelines are used with different video resolution, the operator can choose the canvas size when new HTML pages are loaded and the HTML page will be automatically resized to fit the video resolution of the Pipeline in case needed. So even if your graphics team has made an HTML template which will only work when rendered in 1080p, it will look correct in a 720p production.
Chroma Key node
The Rendering Engine has received a new node to create Chroma Keying effects. With this new node it is possible to key green and blue screens, or why not a pink screen? The chroma keyer comes with easy-to-use controls. Just set the key color and the distance and falloff from this color is also considered a part of the key color. In case you still see some key color around the edges, the spill reduction control will come to your help, desaturating the edges to make your chroma key look good. To aid the key color picking, there are also controls to pick a color directly from the incoming video feed.
Audio peak meters
This release has made the work of the audio operator much easier. The multi view output now features peak audio meters, showing the audio levels in real time for all the connected sources, as well as the audio on the program output. With yellow and red areas defining the -20 and -8 dbFS levels respectively, it is both possible to monitor that the audio levels are within a suitable range, apart from the obvious use case: to see if there are actually any audio being transported to the production at all…
WebSocket Control Panel
A new Control Panel has been added with this release. Working similar to the TCP Control Panel, the new WebSocket Control Panel will relay commands sent from a WebSocket client to the Production. The WebSocket interface makes integration against web based GUIs much easier, lowering the entry barrier of Control Panel GUI creators significantly.
Ateliere Live 4.0.0
Ateliere Live 4.0.0 is the fourth major release of the Ateliere Live system. This release contains a brand new audio mixer, lots of new metrics, picture-in-picture effects and improvements all over the board.
See the Release documentation for more details.
Audio mixer and improved audio transport
This release includes a new build-in audio mixer as a part of the acl-renderingengine. This mixer currently supports parametric EQ, compressor and panning per source. The transport of audio has also been improved by allowing up to 16 audio channels per stream from an Ingest to a Pipeline to be transported. When setting up the stream the new audio_mapping parameter can be used to select which channels to transport, the order of them and group them as mono or stereo to save bandwidth in the transport. The new Audio Router that is controlled using the control panel API is then used to map the incoming channels to the input channel strips of the audio mixer. On top of this the new release also adds support for the low-latency Opus audio codec in the contribution between the Ingest and the Pipeline. It is now possible to chose, per stream, to use Opus or AAC-LC as the codec.
Metrics
This release adds a bunch of new metrics and counters to REST API, which makes it easier to monitor the system state and track down the cause of any problems. The new metrics includes counters for packets on the contribution links between Ingests and Pipelines, where it is now possible to track the number of retransmitted packets and the round-trip time to monitor the quality of the link; duration timers to track how much time is spent on encoding, transport and decoding between the Ingest and the Pipeline, to make it easier to tweak the alignment of the streams and to make sure you have enough headroom to handle fluctuations; metrics on the outgoing links to make sure not only the streams are healthy inside the system, but also on their way out from the system; and more.
New video mixing features
The Rendering engine has granted some new video mixing related features. One of them is to produce picture-in-pictures, a useful effect for instance when showing a remote reporter talking to people in the main studio. This release includes two separate picture-in-picture effects which can be displayed one at a time, or both together, at the same time as background and overlay graphics is shown. The picture-in-pictures can be cut individually and placed anywhere in the main frame. Another new feature of the video mixer is the new transition types, the classic wipe. Both left and right!
SRT output improvements
The SRT outputs have been updated with some new features, which is both applicable for Outputs and Multi-view outputs. Earlier it was only possible to use SRT outputs in listener mode, i.e. where the Pipeline opens a port, listening for SRT clients that want to pull the stream from the port. From this release it is also possible to use the SRT in “caller” mode, where the Pipeline connects to a remote, listening SRT application, to which the stream is pushed. Also, to protect the content of the stream, it is now also possible to encrypt the outgoing SRT streams by providing a passphrase.
Ateliere Live 3.0.0
Ateliere Live 3.0.0 is the third major release of the Ateliere Live system. This release contains a major reorganization and improvement of the REST API as well as support for ingesting interlaced sources and JPEG encoding on Nvidia GPUs.
See the Release documentation for more details.
Reorganized REST API
The REST API has seen some major reorganizations in this release to make it more user friendly and simplify some operations. One such improvement is the management of Control Connections between Control Panels and the Control Receivers. These connections are now categorized under a new endpoint called /controlconnections. Creating, updating and closing these connections are now much easier, as each connection get its own unique UUID at creation and the same endpoints are used, no matter if the connection is originating from a Control Panel or a Control Receiver. Similar changes have been made to the Stream endpoints.
Support for interlaced sources
“Interlacing is dead” has been declared for years now, but despite this, many broadcasters are still locked into interlaced workflows due to legacy systems. To simplify the movement towards a progressive future we have added support for ingesting interlaced sources in Ateliere Live in this release. De-interlacing is implemented for both the Intel and Nvidia encoder and it is also possible to make JPEG thumbnails of interlaced sources. The system will automatically identify and de-interlace interlaced sources, so no additional procedures are required from the user.
In order to keep the maximum video quality, it is recommended to always use progressive scan when possible.
JPEG thumbnail encoding using Nvidia GPUs
This release adds support for JPEG thumbnail encoding using a Nvidia GPU alongside the old Intel GPU implementation. This is especially important in cloud environments where the Intel CPUs usually don’t feature an integrated Intel GPU to do the JPEG encoding. The user can explicitly choose which implementation should encode the thumbnail in the REST API call, or leave the decision to the Ingest to select whichever implementation is supported by the hardware.
Ateliere Live 2.0.0
Ateliere Live 2.0.0 is the second major release of the Ateliere Live system. This release contains several new features and bugfixes to improve the performance, stability and usability of the system.
See the Release documentation for more details.
New Rendering Engine
The 2.0.0 release ships with a brand new Rendering Engine, featuring a video mixer and a fundamental audio mixer. This makes it the first release of Ateliere Live to contain all you need to run a full broadcast production without the need for implementing some of the components yourself. The release still includes the SDK, which allows for custom Rendering Engine implementations for more advanced users.
Tally borders in multi-views
Tally borders are now drawn in the multi-view outputs and the views being preview or on air are marked with a green and a red frame, respectively. For custom Rendering Engines implementation, the SDK has a new API for controlling the tally border state.
Automatic reconnection to System Controller
The components in the system will now automatically try to reconnect to the System Controller, in case the connection goes down. This also means that the components can be started before the System Controller is started, and that the System Controller can easily be restarted after a fatal failure to reclaim control over the running system, without interrupting productions that are on air.
Enhanced system security
HTTPS is now supported in the System Controller to encrypt communication using the REST API as well as the connections from the System Controller to the components in the system. The REST API now also features a basic authentication system to only grant access to the actors with the correct credentials. Also, the components are authorized when connecting to the System Controller using a Pre-shared key (PSK) that must be provided at startup of the components. Read more about how to activate and use these features in the security tutorial
Ateliere Live 1.0.0
Ateliere Live 1.0.0 is the first major release of the Ateliere Live system. This release contains no new features but bug fixes and stability improvements to make it ready for production.
See the Release documentation for more details.