Range Of Workflows & Products Allow For Incredible Remote Picture & Audio Quality
As I’m working on this article in early April 2020, the world is a different place than it was a few months ago.
Over a million people across the globe have tested positive for Covid-19 and tragically tens of thousands have lost their fight with the virus.
I know I speak for our entire Mixing Light team when I say I hope that you and your families are continuing to stay healthy, safe and are doing everything you can to help curb the spread of Covid-19.
With so many people around the world under stay at home orders, our industry has been scrambling to figure out how to maintain some sense of normalcy and efficiency in the remote, work from home (WFH) reality in which we find ourselves.
For our niche of postproduction – access to high-quality, color-critical interactive viewing has been challenging. Part of that equation is monitoring of course, but another part is just getting good data to a remote screen.
File transfer, review and approval, as well as video conferencing services, have never been more important, but those services are simply not the same as having a client in the room with you making creative choices.
A few years ago I saw not only the benefit of a realtime stream to clients for purposes of breaking geographic boundaries but also a quality of life component. With two young kids, I wanted to spend more time at home, and with a home suite that was capable AND could also reach out into the wider world, I knew I needed a realtime remote solution.
For me, that’s where Streambox comes in.
The Streambox ecosystem has allowed me to not only work from where I want but also to connect with clients that can’t come into the studio.
With our current crisis I’ve been lucky that I’m already prepared to offer high-quality color-accurate streams to clients. In this Insight, I want to revisit and dive deep on the Streambox ecosystem and in particular Streambox Sessions in the hope that you might find Streambox a viable solution for your own remote needs.
In part 2, with the help of Mixing Light contributor Joey D’Anna, we’ll show you the stream in action with Joey playing the client, and give you tips on how to run a remote session.
FCC Disclosure: Streambox has supported Team Mixing Light with product discounts and access to software and hardware, however, this Insight is not a paid placement. The content of this article is all Robbie’s and represents his opinions of Streambox products and workflows.
Streambox vs. Review & Approval Sites like Frame.io
Over the past few years, many of us have come to depend on tools like Frame.io and Wipster. I’m a huge fan of Frame.io and I’ve been using it pretty much since day one. It’s speed, integrations with creative applications, commenting and user management tools are fantastic – it really has become an indispensable tool for me and my facility. What’s more? Clients are very comfortable with it.
When talking to clients about remote workflows and realtime streaming, one of the first things they’ll usually say is ‘how is this different than Frame.io? I love Frame.io!’
I think of Frame.io and Streambox as different but very complementary tools. While they have some overlap, they serve different purposes:
- Frame.io is interactive storage. You must encode and upload files to it (and budget the time to do so) but you and clients can easily organize, comment, and annotate content.
- I think of Streambox as an in-person session review replacement tool. Because it’s a realtime, remote sessions with Streambox function almost exactly like the client was sitting on the couch in your suite.
In my opinion, there simply is no replacement for a realtime session where I can hear a client’s inflections in their voice, see their body language and do so without the fog of data (uploads/downloads) moving around – I can make changes right then in there. Streambox provides me the in-person like experience but allows my clients to be where ever they want or need to be.
But does that mean I’ve totally ditched Frame.io?
Absolutely not, there are some clients that can’t for a variety for reasons do a Streambox session, but more times than not, I’m using Frame.io as a follow-up method for a Streambox Session – meaning I will post a file after the session to Frame.io for those who couldn’t attend the session to check things out/leave comments, but also as a way to confirm with the client the changes we made in the session.
One thing I will be interested in trying sometime soon is Streambox Annotations, which with a Streambox Chroma or Chroma X hardware encoder allows for on-screen annotations which is definitely a killer feature of a Frame.io workflow.
To summarize, the choice between a review and approval tool like Frame.io and a realtime high-quality streaming platform like Streambox is not a this or that situation. For me, they can and do live in harmony.
Streambox vs. Conferencing Apps
All of sudden EVERYONE is on video conferencing apps like Zoom, Skype, FaceTime or even Facebook & Slack. Conferencing technology has made it possible for the world to not come to a complete halt during the COVID-19 crises by allowing people to have realtime meetings and collaborate face to face (well, virtually anyway). Many of my peers have been playing with piping the output of Premiere Pro, Resolve and other applications out to their video conference application in hopes of having a realtime session with clients.
This capability is generally only due to the fact that these apps see the video I/O of their home system – meaning you can pipe the output of Resolve (if open) to Zoom, etc., via a Decklink card. This seems awesome right?!
On the surface, this functionality is cool, but the overall quality of these services stink – high-compression and bad color profiles. In a pinch, these services can operate as a remote session tool, but the quality is severely lacking.
The main advantage of a pro solution like Streambox is that it adheres to pro standards:
- 4:2:2 or 4:4:4, YCbCr & RGB
- High-quality ACT L3 (HD 4:2:2. 4:2:0), OR ACT-L5 (up to DCI 4k 4:4:4 12-Bit) proprietary, streaming optimized codecs
- Full frame rate
- Selectable gamut Rec709, P3, etc.
- Configurable streaming settings including bit rate, UDP/LDMP optimization, error correction
Put simply, the quality of a Streambox stream, that is optimized, is of such high-quality that it’s often indistinguishable from the content displayed in a color suite (audio is just as good too). While hacking conferencing apps might be okay as a quick fix, the quality does suffer. I’ve had plenty of clients say that once they see a Streambox stream they can’t believe what they’re seeing!
Visualizing A Streambox Workflow
Before we dive deeper into the various components involved in a Streambox workflow, let’s take a look at the two most common ways of utilizing Streambox technology in postproduction.
Point to Point
As its name implies, a point to point workflow goes from location A to location B.
For a point to point workflow to happen successfully there are a few requirements:
- You know the public IP of the location you’re streaming to (i.e. the client’s public IP)
- UDP Port 1770 be open on both the sender’s router (that’s you) and the receivers router (the client)
- On the receiver’s end, UDP 1770 is port-forwarded to the internal IP address of the device they’re using to view the stream (just note: if they’re using DHCP this may have to be done each time they wish to receive a stream)
The advantage of a point to point workflow is that once you’ve made the investment Streambox technology point to point connections require no additional costs. However, the big downside is they require IT skills on the client’s side or your hand in establishing successful connections for streaming. With larger clients that I work with all the time, point to point streams make a lot of sense – especially if I’m streaming to devices that can have static IPs assigned to them on the client’s network.
In those situations, it’s a one time set-up scenario.
It should be noted, there are ways to make things easier on the client’s side and reduce the need for IT knowledge, but that’s outside the scope of this article and requires a whole bunch of IT knowledge on your end in regards to VPN servers, etc.
A Streambox Session
A Streambox Session could also be called a point-to-point-to-point session. Instead of going directly from location A to location B, an additional location (The Streambox Cloud) is a relay in between the sender’s location (you) and the receiver’s location (the client).
On the surface of it, having an additional stop in the stream pipeline might seem like a bad idea, but in reality, it makes things much simpler for the client with little to no latency penalty.
The advantage of a Sessions workflow is that a client simply has to click on a link you send them, or input a short session code into the player (decoder) of their choice to connect to the stream – that’s it. No messing with routers, port forwarding, etc.
Streambox Components
For postproduction, the Streambox ecosystem is made up of three separate parts – The Encoder, Decoder and optionally (but you really should use it) a Streambox Cloud (Sessions) plan. Streambox has several options for encoding and decoding, so let’s breakdown those options a bit more before exploring setting up and starting a session.
The Encoder
The Streambox encoder is the heart of the ecosystem.
The encoder takes incoming audio/video and encodes to either proprietary ACT-L3 or ACT-L5 codecs, embeds metadata, and connects directly (point to point) to a decoder or connects to the Streambox Cloud for a live session or for playout at a later point in time. Encoders are available in hardware and software versions. Generally speaking, the standalone hardware versions offer more robust performance and enhanced capabilities.
- Chroma – Chroma hardware units are the best encoders that Streambox offers. Chroma comes in a 1u, short depth chassis. There are HD, 2k, UHD and DCI capable versions of the Chroma. The distinguishing factor hardware wise between each is the video I/O (3G vs 6g vs 12g), CPU performance – UHD and 4k versions use a beefier CPU and more ram.
- Chroma X – The HD only Chroma X (can be upgraded to be 12bit 444 capable) is a small hardware unit. It’s a perfect fit if you only need HD streaming and prefer a stand-alone encoder.
- Mac/Windows Software Encoders – Streambox also makes software-only versions of their encoders available for the Mac and PC – however, please note that right now the Mac encoder is 32-bit and will not run on 10.15 Catalina. I’ve been told that a 64-bit Catalina capable encoder will be available later this year. Functionally, the software encoders work like the hardware units – they’re capable of making point to point connects, or streaming to a session in the Streambox Cloud. However, you’ll need a suitably powerful computer to run the encoder on and that computer needs to have Blackmagic I/O like a Decklink card or Ultrastudio. There is also a 4k software encoder available but it’s only available on the Mac.
- Cloud Encoder – When you sign up for a Streambox Sessions plan (more on that below) included in that subscription is access to what Streambox calls their ‘Cloud Encoder’. This encoder is pretty much the same as the stand-alone software encoders but is a bit more limited. First, it will only connect to the cloud – meaning you can’t use the Cloud Encoder for point to point connections. The Cloud Encoder is also limited to 6mbps in HD 8 bit 4:2:0 only, where the standalone software encoders are capable of higher bit rates and on Mac – UHD/4k.
In regards to the hardware encoders, there is something important to understand.
Recently, Streambox revised how pricing works on the hardware units – essentially they decoupled the hardware cost from the software. What this means is the prices you see on the Streambox Store for hardware encoders are the prices for the hardware and 1-month of software rental. You can rent in 1-month blocks of the software that you need for your particular hardware unit. This is advantageous because if you have a month where you anticipate a whole bunch of sessions but then a couple of months where you probably won’t be streaming, you can pay for just the month you need.
Of course, if you anticipate streaming all the time, then it’s likely more cost-effective to purchase a turn-key system, which includes the hardware and software cost – turnkey systems will be more expensive (think well-equipped workstation territory) but I think are still a solid investment. Get in touch with Streambox for more information on their software subscription program to determine if a turn-key setup might be the better option for you.
The Decoder
To receive a stream, it must be decoded by either a hardware or software decoder. Here’s what’s available from Streambox:
- Chroma – most of the configurations of a Chroma hardware unit feature both an encoder and decoder (note you have to switch operating mode, they don’t operate both ways at the same time). So not only can they send a stream out, they can receive one too. Many larger facilities have Chroma units in different locations and depending on their requirements they can be set up to send or receive.
- Chroma X – Like its rackmount cousins, Chroma X also supports decoding at HD resolution.
- Chroma Plus – if you’re doing a lot of HDR or Dolby Vision work to remote clients then you should consider the Chroma Plus. It’s a decoder only version of the Chroma X and it can support 12bit HDR workflows as well as Dolby Vision tunneling – so you can see Dolby Vision encoded content on a Dolby Vision capable display.
- Node 2 – The Node 2 is a small hardware unit (based on the Nvidia Sheild) with HDMI connectivity. Node 2 makes a lot of sense for permanent installations in client conference/screening rooms.
- Mac & Windows Desktop Players – Available for both Mac (recently updated with Catalina support) and Windows this free player can be installed by a client on their computer. The Mac player is also available for free on the Mac App Store.
- Mac & Windows Pro Desktop Players – The Mac and Windows Pro players are identical to the standard desktop players with the difference being the pro players’ support video/audio output via Blackmagic I/O. This is awesome if your clients have suites with calibrated monitoring and can leverage a computer in those suites. The Pro Players are available as single seats or in 5-pack bundles.
- iOS Player – So many clients are on iOS devices like iPhones and iPads and newer generations of iPad (especially the Pros) and iPhone have very good screens. And with a few tweaks can be excellent to review content on. Streambox offers a free iOS Media Player app and it was just recently updated to support the ACT-L5 codec and 4k/HDR workflows. It’s available for free on the App store.
You can see there are a lot of options for decoding a stream so that clients can see your work in the best quality possible. Personally, I see a lot of value in the iOS and desktop players. With that said, hardware units can be a great fit for clients that you’re always working for. My only wish would be that the Node 2 retailed around $1500 (at the time of this writing it retails for $2499). At that price, I could see myself picking it up for select clients or those clients could probably stomach that price a bit better if they bought it themselves. Regardless, there is a decoder for nearly any need.
Streambox Cloud (Sessions) Plan
Point to point sessions use to be the norm for me and while they are still an awesome choice for some clients, there is some IT required on the client’s end. With clients already so used to just clicking on a link to view a file and at the very most, having to enter a password to see a file – Streambox Cloud Sessions make a ton of sense – you can literally just send a code to the client to plug into their player or send them a link which will open up the player on their end and put in the session code.
The thing to understand about the Streambox Cloud is that Sessions is just one part of it. For different segments like News, it can function differently with files left on the cloud for playout to decoders later. For postproduction, you’re likely going to use it for its Sessions functionality. Sessions can definitely streamline the remote process.
You can get started with Sessions by signing up for a free trial, but as you can see in the graphic below, the Standard or Enterprise plans are probably the way to go for most of us. Of course, if you need a custom configuration the Streambox team will work with you.
A few things to remember – used data amount is somewhat controlled by you and your streaming settings. The higher your encoding bit rate the more data you’ll eat up. However, as discussed below, when setting up a session you can also time limit the session. Also production hours means how many hours per month you’ll have active streams going out of the Streambox Cloud. I’m currently on an Enterprise Plan and its been working great.
Setting Up A ‘Session’
As mentioned above, Sessions is a perfect workflow for most of us who can’t depend on clients for IT prowess. What’s more, Sessions works just as well as point to point connections. It’s performance and ease of use make it a no brainer in my opinion.
Let’s take a high-level look at setting up a Session with a client. In part 2 of this series, we’ll show this workflow in action.
Step #1 Client Chooses a Player (Decoder)
One nice thing about the Streambox ecosystem is that the client has a lot of options on how to receive a stream.
For example, maybe you have an ad agency that you work a ton with. They (or maybe you) could purchase a hardware unit like a Chroma X or Node2 and install it on their machine room, edit suite or conference room. This kind of installation is perfect for clients you work with a lot.
It’s also perfect if you want to work as major finishing houses do with remote offices around the world. In most cases, these setups involve a simple office with a couch, calibrated TV, sound system and a webcam.
For most of us, the more likely choice for clients is going to be either a PC, Mac or iOS player. All of these players are free and they can be used for point to point connections, and can also be utilized for a Streambox Cloud Session.
I’m a particularly big fan of the iOS player (recently updated to support UHD/4k and HDR playback) using a recent iPad Pro. The iPad Pro has an amazingly accurate screen. We’ve actually been sending iPads to clients in these tough Pelican cases.
Step #2 Route NLE/Color/Audio System To Encoder
As detailed above, Streambox encoders as dedicated hardware or software running on a computer, take video & audio in and encode it for a stream to a client.
This means you have to have a way to route the output of your creative workstation to the encoder. This could be as simple as an SDI to cable from one system to another, but it might mean also putting the Streambox encoder on your video router.
Step #3 Log Into Streambox Cloud, Start A New Session, Grab Encoder DRM Code
After creating a Streambox Cloud account and logging in (to the appropriate server nearest you), it’s simple to create a new session.
- On the top navigation bar of the Streambox cloud Web UI, click on Sessions
- Right below the navigation bar click Add Session
- In the Create Session Dialog choose a name for the Session then choose the duration of the session or leave it set to unlimited. Limiting Session time can be useful to not only manage your time but to manage your Streambox Cloud data plan. Click Save in the Create Session dialog.
- After creating the session you’ll see it listed on the Session tab of the Web UI. Note the columns for Connections, Encoder DRM & Session ID. Copy the DRM code that you’ll need it for the next step.
Step #4 Configure Encoder Settings, Set Metadata including DRM/Group code
On the encoder that you’re using, you’ll want to configure basic settings like bit rate, but also protocol settings for the stream (a bit more on that below).
In addition, you’ll want to configure the metadata of the stream like the title of the session, who it’s coming from, etc. One thing to note is that the metadata field names in the encoder are not editable – I’ve made the feature request.
The most important metadata aspect to configure is what the hardware encoders call DRM and the software encoders call Group. Remember the DRM code was listed when you created the session in the Streambox Cloud web UI.
Essentially, the DRM/Group code authenticates your encoder to the Streambox Cloud server you’re connected to. Without the DRM/Group code, you will not be able to connect the encoder to a Session you’ve created.
Step #5 Send Client Decoder DRM Code or Sessions Link
Once you have the encoder end setup all you need to do to start the session is have the client connect to it. To do this, back on the Sessions web interface, locate the session you started and grab the Session ID. Send this ID to the client. They’ll use this unique session ID to plug into their player of choice.
Alternatively, in the listing for the session you can also click the share button to send a link to the client. When the client clicks on this (assuming they already have a player installed) it’ll open the player and plugin the session ID.
Once the client enters the Session ID it usually takes 15-20 seconds to negotiate the stream. When it does, clients will be able to see the content you’re streaming to them.
A quick tip – always make sure, at least initially, that you have a full-full frame of the video showing not just a black screen when establishing a connection – it makes it much easier for the client to visually verify they’re connected to the stream.
Step #6 Start Zoom, Skype, FaceTime, Phone Call, ETC.
Once your stream is up and running, the last step is to establish a line of communication between you and the client so that you can communicate how you normally would in an in-person session.
This is where all of those services I mentioned earlier that weren’t so great for streaming high-quality, accurate video/audio come into play. A Zoom, FaceTime, Skype or whatever other video conferencing tool you like to use is a great way of communicating with a client. To avoid problems with audio/video I/O, I usually run this communication on a separate computer like a laptop or an iPad.
Here are some additional tips for the client communication line during a remote session.
- A good webcam – Nearly every device has a camera today to support video calls. The problem is many of them stink. Invest in a high-quality web camera for your laptop or computer. I’m a fan of the Logitech c920.
- Good placement – We’ve all been on those calls where someone has the camera positioned so it’s kind of looking up their nostrils right? Not a good look. Place your camera in a spot where you have a good eye line and it ‘feels’ like your communicating with the client. While you don’t always have to stare right at the camera – make it a point to do so every once in a while – that direct eye contact goes a long way to making it feel like the client is in the room with you.
- (Bonus) A good Mic – The microphone on your laptop, tablet or webcam is probably ok, but chances are it’s also going to pick up a lot of extraneous noise – especially echo in the room you’re in. These days it’s really easy to purchase a high-quality USB microphone like the Yeti Nano or Rode Podcaster. Putting these mics on a simple boom arm makes it easy to swing the mic in and out of position.
- (Bonus) Headphones/Earbuds – Unless your client doesn’t care about the audio on the project, you’re likely to have two streams of audio. The first in the actual stream of the content you’re playing over the Streambox connection & the other the line of communication you have open to the client. It can become a little maddening if you’re playing audio in your room but also hearing it on the client’s side while you and the client talking. A simple set of headphones/earbuds for both you and the client can help keep you both sane during the session.
In part 2 we’ll show you this communication in action. It does take a bit of getting used to, but once you do, it’s just like working with the client in the room.
A Few Notes On Delay
At this point, you’re probably thinking this sounds awesome but Streambox truly realtime? Yes, it can be pretty darn close to realtime but there are some variables:
Network Quality
If you’re a large facility streaming to a large agency, studio or network, there is a good chance a private pipe CDN (Content Delivery Network) may be in use. In these situations, it’s pretty insane how real-time Streambox can be. However, most of us will be using the public Internet for streaming, as such, variables such as line speed/bandwidth, traffic, etc., all come into play.
For example, if you’re trying to send a UHD Stream to a client on their iPhone who’s also in their car…well. You should expect some delay – maybe a lot. In a similar fashion, if you’re trying to push an 80mpbs UHD stream to a client but the Internet at their office is 50mpbs that will likewise cause stream problems.
Connection Type
In general, a wired connection will offer less latency and delay compared to a wireless connection – this not always the case, but it’s a good rule of thumb. For wireless connectivity, on the client-side, connection strength is pretty important too – generally, 5ghz connections are better than 2.4ghz but require closer proximity/fewer obstructions to the wireless access point.
Encoder Optimization
No matter the connection type that you’re using on the encoding side, there is optimization that can happen.
The most obvious controls are data rate, VBR buffer and packing stuff and error correction, but protocol optimization also plays a big role. Streambox encoders support both UDP (User Datagram Protocol) and a proprietary protocol called LDMP (Low-Delay Multipath Protocol). Without getting to geeky about it, UDP is the simpler protocol that is essentially one way – the encoder pushes the stream out but doesn’t get any feedback on that stream from the decoder.
LDMP, on the other hand, sends the stream and then ‘listens’ to feedback from the decoder on the quality of the information received. A huge advantage of the LDMP is that there are optimization methods to tweak quality.
I won’t list all those options here, but each of encoder products provides lots of LDMP controls and Streambox offers suggestions for typical types of connections to optimize connection quality and delay.
As a blanket statement, I find that for most sessions, in most locations in the world, I can achieve a delay of a second or less plus or minus a bit. And surprisingly, I see little difference between point to point streaming vs. using Sessions.
Later This Year: Streambox Spectra
As you can gather from reading this article, the Streambox workflow (both with Sessions & point to point) is pretty streamlined but it does have one requirement – a separate box to pipe audio and video signal into. This machine might be an encoder like a Chroma or Chroma X or a software (including the cloud version) encoder running on a separate computer from your main workstation.
While some of us might invest in a hardware unit, or have a spare computer lying around to run the encoder on, the requirement to send a signal from one computer to another for encoding might be a turn-off for some users.
At HPA this year, Streambox announced a new product they’re working on and will hopefully be available later this year called Streambox Spectra. This product will let the encoder run on the same system as your creative software by creating a virtual I/O device that you can stream to.
At this point, it’s not exactly clear how this will work with various pieces of software like DaVinci Resolve, but assuming it’s as easy as choosing a Decklink card (and hopefully DeckLink + Spectra Interface) I think this could end up being a very attractive way of working for many users.
Here’s Alex from Streambox explaining Spectra and a bit more about the Streambox ecosystem:
Closing Thoughts & Coming In Part II
My journey with Streambox started when I read Tweets and Instagram posts from some of the world’s top colorists saying things like ‘Worked with a great client in Stockholm today!’ or ‘2 Commercial sessions today with clients in Tokyo and London’.
I asked myself how are these colorists/companies doing that? The answer for most of them was Streambox.
Over the past several years, I’ve come to believe that Streambox, especially when coupled with Sessions, is a viable workflow tool for any creative team – small or large.
While point to point workflows do require a bit of IT knowledge, the truth is Streambox Sessions makes a realtime remote workflow super simple. Trust me, I’ve gotten some of my most IT, computer-phobic producer/clients to jump on Streambox Sessions and they love it.
Like many companies out there, I believed in the power of a realtime remote workflow years ago. I honestly believe breaking geographic boundaries of my immediate area has allowed my company to grow.
At the end of the day, you’ll have to judge these solutions for yourself, but the good news is the Streambox players (Mac/PC/iOS) are free and there are demos versions of the software encoders as well as a demo of Streambox Sessions available.
For me, the outstanding video and audio quality of Streambox have been the distinguishing thing about their solutions. When clients tell me ‘Wow! That was really like being in the suite with you!’ – That’s a win!
Next steps
It’s one thing reading about these workflows, but it’s another to see them in action. With the help of Mixing Light contributor Joey D’Anna we’ll put everything you’ve read here into action with me playing the operator/colorist and Joey playing the client. We’ll take a look at:
- Mac/PC + iOS players (decoders)
- Starting a new Streambox Session
- Configuring video/audio, metadata and LDMP settings on the encoder
- Connecting a player to the stream
- Tips for running a remote session for both the operator and the client
Stay tuned for that! We’re aiming to have that out sometime next week.
-Robbie
P.S. I’ve made a small guide for clients describing how to get connected with the various software players. You can download it HERE. Feel free to use this information for your own clients.