What is VBR
Variable Bitrate (VBR) in MPEG-TS (MPEG Transport Stream) refers to the dynamic adjustment of the bitrate used to encode video and audio data within the transport stream. Unlike Constant Bitrate (CBR), where the bitrate remains the same throughout, VBR allows for higher bitrates in more complex sections and lower bitrates in simpler sections, and avoids the use of NULL packets, or PES Stuffing. This optimises the use of bandwidth and storage, but severely impairs the ability of the decoder to precisely reconstruct clocking used when encoding. Moreover a VBR transport stream will often require longer or dynamic buffering strategies to playback. This is why "broadcast" and hardware decoders typically struggle with VBR transport streams.
Why it's important to test each VBR encoder/content pair with Spalk
The quality and multiplexing of Variable bitrate transport streams, are themselves highly variable between manufacturers, software versions and products, which makes it difficult to guarantee that a stream will be compatible with Spalk's multiplexer without specific testing. Remembering that Spalk does not reencode the video, and attempts to remux the incoming transport stream as little as possible, this means that the stream coming into Spalk needs to provide enough incoming audio bitrate to facilitate the re-insertion of commentary.
If the audio bitrate on input is less that the required output audio bitrate (of the commentary + game sound), then there is not enough space for the mixed audio on the output and parts of it are dropped. This will manifest as audio artefacts on the output, and be visible in the Commentary Metrics > Multiplexing Errors chart.
Testing your encoder before the live broadcast means that you can verify the audio quality produced and contact a Spalk representative if you are having difficulties providing Spalk with a CBR MPEGTS stream.
Notes on testing:
1. Ensure you use the same type of content you expect to stream with Spalk. This is because the contents of a VBR stream depends on what's inside the video and audio (by definition), so a test with just static images and silence won't represent the stream Spalk receives on game day.
2. If you are having issues with audio drops or quality, try increasing the audio bitrate on your encoder.
3. If you are intending to send the stream to external partners, attempt to get them to receive the stream and verify the quality audio and video during the test.
How to test VBR with Spalk.
Create a test event on Spalk and ensure you set the Bitrate Control to VBR.
To confirm that the media provided to Spalk is VBR, the Input Health Metrics on the dashboard should show nothing in the NULL Packet Bitrate graph.
Once connected as a live commentator check that the Commentary Metrics > Multiplexing Errors chart. If you observe anything other than "No Data", Spalk is having issues re-inserting commentary, and you probably need to adjust encoder settings.
Attempt to run the test as closely as possible to a live event, so the resulting audio/video quality and synchronization can be verified.
Spalk encoder setting recommendations
Attempt to set the audio bitrate to Spalk as high as possible, this gives us the maximum "space" to re-insert the commentary.
If you are having issues with audio drops or quality, try increasing the audio bitrate on your encoder. Where possible use the MPEG1-Layer2 codec, as that is typically easier for Spalk to re-multiplex.
For the predictability of a reliable broadcast, using a DVB-Compliant CBR transport stream is recommended. If your encoder does not support CBR then please contact your Spalk representative to troubleshoot a workaround.
Comments
0 comments
Please sign in to leave a comment.