After what seemed to be an endless sequence of tango dance rounds between me and Blackmagic’s public relations department, we finally have a proper answer to my question about the maximum streaming bitrate available from the ATEM Mini Pro’s inboard encoder. This news is great for video quality seeking purists. I am so glad I persisted to get to the bottom of it. Fortunately, the maximum bitrate for live streaming can indeed be much higher than just 9 Mb per second as it initially appeared to be, as long as your ISP’s upload speed can support it.
Why we should have the initial payload as less compressed as possible
As long as I have the available bandwidth (for live broadcasting) or the necessary time (for uploading a pre-recorded video file to a server like YouTube or Vimeo), I always prefer to send the least compressed version possible, because the platform will be re-encoding it. I want to minimize generation loss. Seasoned video professional will recall that way back in the analog video days, if we produced in Betacam SP and distributed in VHS, we preferred to have a single generation on VHS, since VHS is such a lossy format compared with Betacam SP. That’s why when I upload a short video I just edited either to YouTube or Vimeo, I generally do it in the ProRes 422 códec, since it is much less compressed than any H.264 or H.265 file although ProRes 422 is much heavier. That way, when the CDN creates different versions at different sizes for different viewer’s devices according to the screen size and resolution, they will be the first and only H.264 generation.
When it comes to live streaming, given current Internet restrictions in most places, we need to upload a real time signal which is much more compressed than a format like ProRes 422, but I insisted that I would like to encode H.264 in a much higher bitrate (lower compression) than 9 Mb/s. Fortunately, most ISPs (Internet service providers) improve their offerings constantly, be they mobile Internet (like my beloved Google Fi, which can automatically use multiple networks in the US, and also works in 200+ other countries), fibre or cable TV providers.
The maximum bitrate available from the ATEM Mini Pro’s realtime streaming encoder
After what seemed to be an endless sequence of tango dance rounds between me and Blackmagic’s public relations department, we finally have a proper answer to my question about the maximum streaming bitrate available from the ATEM Mini Pro’s inboard encoder.
The final answer is: Streaming and recording will always use the same bitrate. Even without resorting to the XML file for advanced users (first covered in ATEM Mini Pro-great new functions—advanced settings-questions answered), we could simply choose one of the presets which are labeled as “HyperDeck” for Blackmagic local recorder family and use them for streaming too.
- HyperDeck High 45 to 70 Mb/s
- HyperDeck Medium 25 to 45 Mb/s
- HyperDeck Low 12 to 20 Mb/s
- Streaming High 6 to 9 Mb/s
- Streaming Medium 4.5 to 7 Mb/s
- Streaming Low 3 to 4.5 Mb/s
However, the customized XML permits us the range of allowable bitrates from 3 to 70 Mb/s. We can use our own nomenclature for the file, and we can force the output framerate to whatever we would like. This is especially convenient for “semi-shy” 1080p cameras. Blackmagic’s framerate auto-detection of the first camera source works great for “outgoing” 1080p cameras (which actually output the native framerate over their HDMI output), but not for “shy” or “semi-shy” cameras. Here are some examples of that:
- Even though the camera is set to image and record internally at ≈29.97p, over HDMI they output either ≈29.97PsF (which appears to be ≈59.94i, “shy”) or ≈59.94p (“semi-shy”, repeating each frame).
- Even though the camera is set to image and record internally at 25p, over HDMI they output either 25PsF (which appears to be 50i, “shy”) or ≈50p (repeating each frame, “semi-shy”).
- Even though the camera is set to image and record internally at ≈23.976p, over HDMI they output either ≈59.94i or ≈59.94p, “shy” in either case.
In addition to avoiding unnecessary and undesired de-interlacing (see Blackmagic ATEM Mini video mixer with SHY 1080p cameras illustrated above), we also want to avoid streaming double the framerate due to a misunderstanding. The case of the duplicate frame situation (“semi-shy”, where 25p is doubled to 50p, and ≈29.97p is doubled to ≈59.94p), this is less complex to fix than the other two situations described: Just force the ATEM Mini Pro to be at the original desired framerate via the custom XML file, so it will skip each extra frame.
I always like to leave some headroom, depending upon the ISP’s measured upload speed. So if you test your upload speed to be 30 Mb/s, consider encoding at 20 Mb/s. If your upload bandwidth is 80 Mb/s or higher, by all means, encode at 70 Mb/s to get even better quality (higher bitrate=lower compression), knowing that the CDN is going to re-encode it. Always perform tests way before the actual live stream/broadcast.
Conclusions
I am very glad that Blackmagic has made the encoder allow realtime H.264 encoding up to 70 Mb/s. Even though Blackmagic won’t currently reveal it, I hope a future firmware upgrade might even unlock a now secret, dormant H.265 encoder which many be hidden inside the ATEM Mini Pro (Amazon— B&H).
Combine ATEM Mini (Pro) with Ecamm Live
This is the topic of an upcoming article. Be sure to be on my mailing list… to be notified.