Low audio levels in MKV video recording

tjfoth

New Member
I have really low audio levels in my MKV video.

Here is my chain:

microphone->(XLR cable)->Behringer X32 mixer->(XLR cable)->Focusrite Scarlett box->(USB cable)->ASUS gaming computer running Windows 10 and OBS.->(file) MKV

MKV->Handbrake->(MP4)->Adobe Premiere Elements.

Note that:
  1. The Windows Audio Setup Recording tab has the level already set to maximum: 10
  2. The OBS mixer shows really nice levels of 0 dB VU.
  3. Audio monitoring in headphone out of OBS sounds fine.
It seems like the audio levels were reduced when I upgraded from OBS 28 to OBS 29.

I tried adding the gain filter to the audio device, but to be honest, it created so much noise, it was unusable.

Currently I'm bringing audio levels up in post-production (Adobe Premiere Elements).

Any help or suggestions here would be DEEPLY appreciated.
 

AaronD

Active Member
MKV->Handbrake->(MP4)->Adobe Premiere Elements.
Currently I'm bringing audio levels up in post-production (Adobe Premiere Elements).
Does APE not take MKV? I'd be surprised if it didn't.

I don't *think* Handbrake would cause this problem, but since OBS itself seems to be okay, it's probably worth seeing if you can cut it out. If you really do need MP4, OBS can do that too. File -> Remux...

Note that:

  1. The Windows Audio Setup Recording tab has the level already set to maximum: 10
  2. The OBS mixer shows really nice levels of 0 dB VU.
  3. Audio monitoring in headphone out of OBS sounds fine.
I tried adding the gain filter to the audio device, but to be honest, it created so much noise, it was unusable.
Yep. You were already at full-scale, and you turned it up some more. That (tried to) put you over full-scale, so of course it sounded awful.

The X32 uses 40-bit floating-point internally, so you can get away with that, as long as the final output is reasonable. But OBS is 16-bit integer (same as a CD and lots of other distribution methods), so you can't.
 

AaronD

Active Member
That being said though, I wonder if you've fallen into the same trap that so many others have, of live vs. mastered levels.

A "good" live level is typically around -18dBFS peak. That leaves a fair amount of headroom in case something unexpected comes, and you need to handle that without distorting also. And the perceived average is maybe 10-20dB below that, depending on the content.

The expected "mastered" level is 0dBFS peak, with a perceived average of -10 or so. Zero headroom, on purpose, and that's what you're used to. The reason to have it so hot is to overcome the noise and shallow bit depth of the distribution medium...but you can't do that with a "live" signal, because you don't know what's coming.

The difference is compression. I run the broadcast for my church, with an X32, and I have several stages of compression before it finally leaves the board. Our FOH Engineer compresses everything individually with the channel compressors, then I take a post-fade mix from that. My bus master has the classic LA-2A emulation on it (Leisure Compressor, I think Behringer calls it?), and that then feeds a matrix that uses the channel compressor again, this time as a soft-knee limiter (ratio all the way up) with instant (zero) attack time.
(the reason to use a matrix and not send the bus straight out, is to have different versions of the broadcast mix on different matrices that go to different places: one with the room mics and one without)

Normally, that final limiter would have a ton of gain (still in the X32), but because it's feeding a consumer analog line input and not a pro one, I have it down enough to match the full-scale that the consumer device expects. Thus, OBS receives a broadcast-ready signal, with nothing more to do except to Noise-Gate what the analog wire picked up between the X32 and the consumer line-in.
 

tjfoth

New Member
@AaronD Thanks for the prompt reply. APE does not accept MKV. Bummer. AP might, but I can't really afford that (this is for a church). I can bring the audio levels up in Handbrake as well while it is recoding.

I tried the remux in OBS and it didn't improve the audio levels. Remuxing in OBS is considerably faster than using Handbrake, though.

Note that I'm analog from the X32 to the Scarlett box and then digital from the Scarlett box, so I'm not sure the digital representation of the audio in the X32 matters.
 

AaronD

Active Member
I tried the remux in OBS and it didn't improve the audio levels. Remuxing in OBS is considerably faster than using Handbrake, though.
It might be better quality too, if Handbrake is decoding and re-encoding it, with the corresponding generational loss. OBS just copies the x264 data straight over, which also explains the difference in speed.

MKV and MP4 are not formats. They're containers. x264 is the actual format. Exact same stuff, even pedantically, just a different bucket to put it in.

Note that I'm analog from the X32 to the Scarlett box and then digital from the Scarlett box, so I'm not sure the digital representation of the audio in the X32 matters.
You can get away with exceeding full-scale internally in the X32, because of the floating-point representation. Integers can't do that. I mentioned it just in case you learned on a digital console and were used to abusing it like that and thinking nothing of it.
 

AaronD

Active Member
APE does not accept MKV. Bummer. AP might, but I can't really afford that (this is for a church).
You might have a look at Shotcut. It's a free, open-source, video editor that runs on anything. Easy enough to get started with, and a TON to grow into:
(and it takes what seems like every type of source file there ever was, including MKV, and one that I've never seen except that my camcorder uses it for internal high-quality: I've memorized the folder path on the SD card that you're not supposed to get to easily, and Shotcut reads them just fine)
 

tjfoth

New Member
@AaronD Regarding your second post: I am only using one compressor per microphone for both FOH and the feed to OBS. I send the pre-fade audio to a mix bus which is then sent out a back XLR to the Scarlett box.

But here's the another clue: I run a Behringer C-3 condenser mike directly plugged into the Focusrite Scarlett box for specifically to record ambient music sound (I'm not as sophisticated as some churches with multiple choir mikes and all and we don't need the choir, organ, or piano to be amplified for the house). So... specifically: one channel on the Foscusrite Scarlett box is analog wired to the bus mix out from the X32 and the inputs to the bus are strictly microphones (Sennheiser body packs, handhelds, and lectern mikes) and the other is exclusively the aforementioned Behringer C-3.

So... here's the strange thing, and I want to make sure I'm clear about this: the VU meter in OBS is showing levels around 0 dB with just a few peaks into yellow and red.

So that would indicate to me that at least the OBS mixer is getting the right levels. They're just not getting into the MKV file.

I guess I should try to record to another video format and see what happens.

That being said: if MP4 is better, given all the warning about MP4 failures and loss, even if it handled the audio levels better, I probably wouldn't use it.
 

tjfoth

New Member
I'll look into Shotcut right now. I'm not a real fan of APE, I'm just familiar with it having used it since 2006-ish?

And thanks for reminding me about the containerization of the video files. I completely forgot that. I looked into that a long time ago.

And yes, Handbrake is decoding and recoding.

This conversation has been really helpful and I'm really grateful for it.

I'll just say this: while I have mostly stayed current with video and audio as a hobbyist, things sure have changed since I first learned how to edit audio with a razor blade on reel-to-reel tape in 1971 at a radio station and video editing with Sony U-matic video cartridges in 1977 at a TV station.
 

AaronD

Active Member
I am only using one compressor per microphone for both FOH and the feed to OBS. I send the pre-fade audio to a mix bus which is then sent out a back XLR to the Scarlett box.
Good so far. But you need some (aggressive but tasteful) bus compression to translate it from a live mix to a distributable one.

But here's the another clue: I run a Behringer C-3 condenser mike directly plugged into the Focusrite Scarlett box for specifically to record ambient music sound (I'm not as sophisticated as some churches with multiple choir mikes and all and we don't need the choir, organ, or piano to be amplified for the house). So... specifically: one channel on the Foscusrite Scarlett box is analog wired to the bus mix out from the X32 and the inputs to the bus are strictly microphones (Sennheiser body packs, handhelds, and lectern mikes) and the other is exclusively the aforementioned Behringer C-3.
Run *everything* through the X32, even if it's not going to the PA. Put it all through the bus compression, so that the output from the X32 is completely finished and ready for broadcast.

So... here's the strange thing, and I want to make sure I'm clear about this: the VU meter in OBS is showing levels around 0 dB with just a few peaks into yellow and red.

So that would indicate to me that at least the OBS mixer is getting the right levels. They're just not getting into the MKV file.
No, that's low. The file is accurate. Seriously, you need to SLAM those meters! Compress it hard, and put it *all* the way up to full-scale, *before* it leaves the X32. (yes, that IS the broadcast standard, and what you're used to)

By the way, 0dB is not at the border between green and yellow. It's all the way at the top. That's common for digital stuff, whereas analog does have it there. The difference in scale is because it's actually measuring something different, and I actually prefer the full-scale measurement that digital has, over the "nominal operating level" (whatever that means) of an analog meter. If you calibrate all of your gear to each other so that full-scale is full-scale throughout the entire rig, then a full-scale meter makes a lot of sense.
(I learned on analog, and built and tuned a few analog rigs, and I still say that)
 

AaronD

Active Member
...things sure have changed since I first learned how to edit audio with a razor blade on reel-to-reel tape in 1971 at a radio station and video editing with Sony U-matic video cartridges in 1977 at a TV station.
No kidding! There are YouTubes now, demonstrating how to do that (YT has everything!), and the comments to those are...amusing. "I'm never going to complain about my app being the wrong color again!"
 

AaronD

Active Member
Just thought of something: How much editing do you do after the fact? Do you just trim the leader and trailer? Do you completely remix it? Since the broadcast compressor really needs to be the last thing in the audio chain, I'm wondering what your entire chain really is.

If the X32, live, can be the last audio processor, even including post-production, then it's fine. But if you do some significant audio processing in post, then the 16-bit bottleneck through OBS could be a problem. To avoid the bottleneck, you might record a scratch track in OBS, just something for Shotcut's automatic alignment to pick up on and then you mute it, and record the real soundtrack separately and with better quality than OBS does. Keep the "live" level and feel until the end of the chain, without losing quality through a bottleneck.

At any rate, the broadcast compressor needs to be there, as the last thing in the audio chain before release, and you need to slam the meter after that compressor, but never go over.
 

tjfoth

New Member
The reason I was holding levels back was because I was getting clipping, apparently where the compressor was swamped and went beyond limiting? I'm not exactly sure where in the chain the clipping was occurring, but I backed off the preamp and that seemed to handle it.

And I saw the 0 VU at the top of the sliders and meters: I just never believed it because, as you mentioned, I am analog trained and when you go past 0 VU in analog you have distortion and clipping, which I was experiencing.

As far as audio editing: I'm just trimming. Period. I am not doing post-production mix downs. I do use APEs provided a NewBlue audio filters to correct for some audio problems, within the limits of their abilities. Mostly to reduce noise (like the heating system coming on).

The only thing I'm doing "live" is sending the video to the in-house displays. We don't go live on YouTube anymore (we did during lockdown). Pastor's view is that if you want the experience of being in church, you should be in church. We provide enough of the service to feature Pastor and some of our music. You can see our stuff here: www.youtube.com/fccmelrose. The MP4 is also rebroadcast on our local cable channel and the techs there were so impressed they needed to visit our church to see our set up. They thought I had a whole production truck/studio. They were surprised to see two PTZOptics PTZ cameras, the FOH audio system, and my Asus gaming notebook with 15 button Elgato Stream Deck and the Scarlett Box.

I did take a sample of the MKV video and process it both by the OBS remux (recontainerizing it, as you made clear) and with Handbrake (which regenerates it). When I examined the audio levels were the same between the two, leading me to believe this is about me not driving the audio as hard as I should.

I'll need to get deeper into the compression I'm using in the X32 portion of the chain.

Thanks again for being so thoughtful about helping me out.

I HAVE been spending a lot of time on YouTube learning OBS and the X32 (which was new to use: the 21 year old Yamaha mixer recently started to die so we replaced it with the X32). No where did I get the information you provide on how to drive the audio levels... so thank YOU SO MUCH for that insight!
 

AaronD

Active Member
And I saw the 0 VU at the top of the sliders and meters: I just never believed it because, as you mentioned, I am analog trained and when you go past 0 VU in analog you have distortion and clipping, which I was experiencing.
If 0 is at the top, it's not VU (Volume Units) anymore. It's full-scale. Different mindset. The (very) rough equivalence in most of the pro world is that -18dBFS (FS = Full Scale) is 0 VU, even though it's never marked that way except for a change in color. But when you understand that that's a direct indication of headroom, and that you might need more headroom in some cases and want less in others (maybe you have a preamp that clips "nicely" and you use that to make a sound)......

As far as audio editing: I'm just trimming. Period. I am not doing post-production mix downs. I do use APEs provided a NewBlue audio filters to correct for some audio problems, within the limits of their abilities. Mostly to reduce noise (like the heating system coming on).

The only thing I'm doing "live" is sending the video to the in-house displays. We don't go live on YouTube anymore (we did during lockdown). Pastor's view is that if you want the experience of being in church, you should be in church. We provide enough of the service to feature Pastor and some of our music. You can see our stuff here: www.youtube.com/fccmelrose. The MP4 is also rebroadcast on our local cable channel and the techs there were so impressed they needed to visit our church to see our set up. They thought I had a whole production truck/studio. They were surprised to see two PTZOptics PTZ cameras, the FOH audio system, and my Asus gaming notebook with 15 button Elgato Stream Deck and the Scarlett Box.
It sounds good to me. I think you might be okay...unless you *have* been compressing it in post. Maybe Handbrake has a limiter, so when you gain it up in there, it's still okay?

We have people who believed the lockdown hype and were scared stiff, but we still wanted to include them. And we still have people who go on vacation or work or whatever, and want to stay connected to home. And we've attracted some new people who found the stream first and now they come in person.
And yes, we do also have some that are capable of coming in person, but choose to watch from the living room instead. For them, I think of the Parable of the Sower: at least we're hitting them...

Here's ours:
That's YouTube's recording of the live stream. No post processing at all except for what YT itself does.
There's about 15 minutes of announcement-loop leader so that people can find it, and 10 minutes of trailer with our logo and website so they can see that and then leave on their own without getting kicked off. We want to get some legal music to play during the leader, as a "speaker test", but we haven't gotten there yet.

Two PTZ's, and I'm planning to try a third "phone cam" tomorrow, with a selfie clip on a tripod and the IP Webcam app for Android. We'll see how that goes!
And lots of automation, using the Advanced Scene Switcher plugin! The room fade-out during the Welcome Video, and fade back in after, for just one example. Some things though, like the room mics up during the Lord's Prayer and back down, don't have good triggers to automate them. And of course there will always be art involved, and you can't automate art.

For the audio mix itself, we have a shotgun mic on either side of the stage, to explicitly capture the room, and a cobbled-together 3-piece set of drum mics (spare vocal mic for the kick drum), all of which go to the board, but they don't go to the PA. I use 5 busses to mix the stream:
12. Speaking mics
13. Room L
14. Room R
15. Band L
16. Band R
The stereo band mix gets the LA-2A emulation, and then feeds both the Broadcast matrix and the Lobby matrix.
The room has a "telephone" or "Abbey Road Reverb" EQ, and then feeds only the Broadcast matrix. Its compressor is side-chained to the speaking mix to make it a ducker instead, for better clarity while still capturing the audience's response.
The speaking mic mix gets a shared De-Esser, and then feeds the Broadcast matrix, Lobby matrix, and the PA.

3 matrices:
1. Broadcast L
2. Broadcast R
3. Lobby
The Broadcast matrix receives the Band, Room, and Speaking mixes, and has the channel compressor as a limiter. Exactly full-scale as measured on the receiving end, through Aux out 5/6, to a Behringer UCA202, 16-bit analog line-in.
The Lobby matrix receives the Band and Speaking mixes (but not the Room), and has the channel compressor as a limiter. Predictable volume in the lobby, regardless of what's actually happening. It also goes to the hearing-assistance radio transmitter.

The other 3 matrices are for the PA:
4. Center
5. Left (presently stage fill, with a blown tweeter, not normally used)
6. Right (not used yet)
These matrices have the parametric system EQ, not automatic by an overly detailed and practically deaf machine and locked up in a closet, and their channel compressors are used as anti-clipping limiters that are otherwise out of the way.

Back to the mix busses, the first 8 are for foldback monitors (not all used yet), which leaves 9, 10, 11 for FX sends. That works out perfectly, because the 4th FX unit that could have taken a bus feed is already taken as part of the broadcast structure, and is only available in that bank.
11 is presently a Gated Reverb for the kick drum, that I only used briefly but is still there. 9 and 10 are vocal Delay and Reverb, also not used.
Insertable FX are presently:
- Pitch Shifter, that I use occasionally when I do FOH for special events, as a feedback preventer for a speaking mic with poor mic technique. About 17 cents, up or down, seems to be about right for this room. Don't overdo it!
- Guitar Amp, set for some aggressive fuzz, mostly to mess with acoustic players. :-)
- The other channel of the speaking mix De-Esser, presently on the lead singer because he's a bit harsh sometimes. (yes, singing through a de-esser)

I HAVE been spending a lot of time on YouTube learning OBS and the X32 (which was new to use: the 21 year old Yamaha mixer recently started to die so we replaced it with the X32).
We used to have a Mackie SR24 before the lockdowns. We were thinking about replacing it already because the left main out had started crackling, and the mono out inherited that. And then we needed something better anyway to run a decent live broadcast. I'd used an XR18 for several years already as part of a "guerrilla concert" mission trip rig that I built for a different organization, which is practically an X32 on a smaller DSP chip, with things deleted until it fit, so I had a pretty good idea of what I was doing already. And as an electronic and embedded software hobbyist, it strikes me as pretty much exactly what I would do from scratch, looking only at the engineering side and not so much the user.

In the larger world though, it's kind of an oddball. Like the Mackie SR series in the analog world, it's cheap, it's everywhere, and it's weird. Like the SR's single mute point to make the circuit cheap, which kills the headphones unless you also send it to the PA, the X32 has its own unique set of functional annoyances to work around, compared to pretty much everything else. Still VERY usable though, and I'm looking at buying another X32 for the group that I made the mission trip rig for, to replace a 40-channel Allen & Heath GL3300 and a small rack of outboard processing.

I ended up with the old Mackie, and the cracking problem turned out to be a dirty switch in the left main Insert jack. I wasn't about to de-solder a sea of jacks, so I took some 1/4" TRS plugs from my stash, wired Tip and Ring together (Send and Return), and stuck them in the main inserts. Problem solved! A system EQ would solve it too, or anything else that uses the main inserts. Now what to do with it...

No where did I get the information you provide on how to drive the audio levels... so thank YOU SO MUCH for that insight!
:-)
 
Last edited:

tjfoth

New Member
There's a lot to read through here and I'm going to take my time. Thanks again for your background. I DID use Advanced scene switcher, but later went to the Elgato Stream Deck with some "automation" built in there with Bitfocus's open source Companion app. I go back to doing production video in the 70's on a Grass Valley switcher, and I really like the idea of "taking" a scene by pushing a real button. I have different "pages" set up on the Stream Deck for different parts of the service. Pushing one of the buttons calls up a specific OBS scene in preview on a specific camera with a specific preset shot. I can then steer the camera as necessary / if necessary with the game controller. I push another button and it "takes" with a preprogrammed fade. With this set up, anyone can run the board without me. If you don't have a Stream Deck, you should look into it.

The Yamaha had a couple of channels that would just go flat dead in the middle of a service. From what I could tell, the electrolytic capacitors in the Yamaha were at the end of their rated life and probably just drying up. I might try to fix it.

And yes, the X32 is quirky and largely poorly documented. That being said: I was affordable AND I could remote control it. The Yamaha was in an equipment closet with no visibility to the worship space. Now, with the X32, I can control the board virtually via an app (I dedicate a cheap iPad to that).

I run mono for everything. We don't have a praise band and the choir is not an "every Sunday" thing.

There's a lot to think about from what you've written about getting ambient congregation sound. If you look at the video, you'll see Pastor polling the congregation during the children's sermon. That occurs during the "prayers of the people" as well, but we don't put that on the video.

We also have some people still not ready to come back, so this is still a lifeline for them. We also had people find the stream and became members (one who is now on the production team!).

BTW: The cameras are now running NDI. That was a great investment, because it allows me to move my operating position at a greater distance than if I was locked down by the limits of HDMI or USB cable length. The other thing I pick up by going to NDI is using the NDI client on a cellphone for remote video capture.

I'll take a look at your videos.

Thanks!
 

AaronD

Active Member
I really like the idea of "taking" a scene by pushing a real button. I have different "pages" set up on the Stream Deck for different parts of the service. Pushing one of the buttons calls up a specific OBS scene in preview on a specific camera with a specific preset shot. I can then steer the camera as necessary / if necessary with the game controller. I push another button and it "takes" with a preprogrammed fade. With this set up, anyone can run the board without me. If you don't have a Stream Deck, you should look into it.
I agree on the physical controls. You just can't beat that! So in that sense I'm disappointed to see the GL3300 get replaced. There's just nothing like mixing a concert on a large-format analog rig.
But they want something that "just anyone" can come in and use and not have to figure out what the last guy left in it, and still run a concert every once in a while. To me, that means a digital board, and a monitoring computer of some kind (the RPi below, or a jukebox, or whatever) that can say on 24/7, see that the board just turned on, and push the standard settings into it. Then you only need to teach that standard, and you can allow anyone to mess it up however they want. Next time it turns on: standard settings again.

Pretty much everything I do in OBS is hotkeys on the numpad. So in a sense, that brings back the physical connection...sort of.

PTZ and audio controls have ended up in an app that I wrote for a Raspberry Pi 4 and a 1920x1080 touchscreen. (about 10" I think?) Buttons, joysticks, and faders, but all on a touchscreen, so the physical feel isn't really there. I've thought about either making a USB joystick from a 1970's Kraft radio-controlled-airplane transmitter (illegal to turn on now; the FCC's rules have changed since then), or using an existing USB game controller, but I haven't gotten there yet.

But, since I do have that app, with all of my own source code, I could copy it and pare it down to a command-line utility that I can call from Adv. SS's Run action. Now I can automate the sound board from OBS, and I need to figure out how to do the cameras. Those don't just send a command over UDP and be done like the sound does, but they keep a TCP connection alive, and wait to finish moving before setting the manual focus, if it exists in a given preset. (if it doesn't exist, use autofocus instead) So I need to figure out how to have that logic in a command-line utility. Maybe have a daemon that keeps the connection and receives commands to send on? I guess we'll see. At any rate, I need to let some dust settle first, before I do that.

And yes, the X32 is quirky and largely poorly documented. That being said: I was affordable AND I could remote control it. The Yamaha was in an equipment closet with no visibility to the worship space. Now, with the X32, I can control the board virtually via an app (I dedicate a cheap iPad to that).
If it's in a closet with poor access, did you get a full console, or the Core? Considering that you're entirely remote controlled, the Core is probably a good idea: it's just the DSP alone, in a 1U rackmounted box, and all remote I/O. The remote I/O is also usable with the rest of the X32 family, and allows you to put maybe 8 inputs here, another 8 inputs there, etc. with minimal analog length, bulk, problems, and noise. Each I/O box only requires Cat-5 and AC power, and can feed some personal monitor mixers that themselves receive 16 channels from the main DSP and mix those for each musician. I've also seen those personal mixers feeding wireless in-ear transmitters...

Except I think the X32 Core was only available for a short time until the bean-counters figured out that it didn't make sense to make literally the exact same thing for two different product lines with different stickers and a correspondingly different price. So they dropped the X32 Core and kept the Midas M32 Core. The only difference between the Behringer X series and the Midas M series is the preamps, panel layout, and price. Their consoles and I/O boxes are freely interchangable, as are the settings files. (so if you really cared, you could make a "budget M32" from an X32 and Midas remote I/O)

BTW: The cameras are now running NDI. That was a great investment, because it allows me to move my operating position at a greater distance than if I was locked down by the limits of HDMI or USB cable length. The other thing I pick up by going to NDI is using the NDI client on a cellphone for remote video capture.
Our PTZ's have a direct SDI out, which is a dedicated long-distance video format that runs on 75-ohm coax, and they're PoE-powered. Don't know if they do NDI or not. They have a browser stream, but that's probably RTSP. Anyway, we have both Cat-5 and coax to each camera. We used to convert SDI to HDMI, to feed a 3in HDMI jumper to a USB capture card for each one, but I recently swapped that out for a 4-input SDI capture card on PCIe. (and the HDMI input from the lyrics computer now gets converted to SDI, to feed a 3ft jumper to the new capture card)

Much better! We no longer have variable latency week to week between the two cameras (that was fun!), and it's better quality anyway because the cheap HDMI -> USB cards are actually USB 2 chips behind a USB 3 connector. So they MJPEG-compress the full-HD video in the card, before sending it through USB 2, which introduces the classic "JPG-fuzzies" that you might have seen in still pictures. (MJPEG is literally just a JPG of each frame, with no knowledge of the other frames)

We do have NDI from the lyrics computer to OBS, separately from the copy of the audience screens, for the lower-third lyrics and Scripture. It's actually full screen, with most of it transparent because NDI can do that.
 

tjfoth

New Member
Your RPi approach sounds cool. When I put this all together, however, I was still working full time plus for a large international consulting firm, and I needed to run as much as an integrating appliance operator as opposed to writing code (I have since retired).

Based on what you've said, I'm wondering if you are or have been an amateur / ham radio operator. If so, I'm W1TJF.

As far as controlling the cameras, I'm using the VISCA plug in for OBS. You should look at it. I have found some command line programs to drive VISCA as well, but the VISCA plug in is so awesome. It even has protection which prevents camera movement if the camera is live and is told to move.

VISCA is UDP based and independent of NDI, so as long as you have an ethernet/IP connection to the camera, it will work.

I looked at using SDI, but the cost of two SDI to USB convertors for laptops was too much, so I originally went with HDMI out to two HDMI to USB adapters with, as you mentioned, the delay. That was the other reason for upgrading them to the NDI firmware. And yes, if you don't have NDI, you're getting RTSP from the cameras which is virtually useless.

I have the rack version of the X32. I think it is 2U or 3U and has a display. I didn't see the core version when I bought this, so I suspect it is no longer available.
 

AaronD

Active Member
Based on what you've said, I'm wondering if you are or have been an amateur / ham radio operator. If so, I'm W1TJF.
I've been asked several times, most recently by a radio shop when I was cable-extending the OEM antenna of a wireless camera through the wall of a metal trailer. ("how's my load doing?", without pulling over to look)
Never really had an interest in HAM though.

As far as controlling the cameras, I'm using the VISCA plug in for OBS. You should look at it. I have found some command line programs to drive VISCA as well, but the VISCA plug in is so awesome. It even has protection which prevents camera movement if the camera is live and is told to move.
I looked at the PTZOptics plugin for OBS (our cameras are PTZO knockoffs, close enough that their official app still works), and concluded that I really didn't need it in addition to the dedicated control surface, and there's (presently) no provision for one plugin to talk to another, so that Adv. SS might automate the VISCA plugin.

As for locking out movement while it's live, that's normally a good idea (I've gotten confused before, and moved the wrong one!), but sometimes I *want* to move it live. Sometimes I figure that out at the last moment (guest presenter stands "over there" instead of where I expected), and I really don't want to discover *then* that I need to unlock it first! So I'd rather live with the occasional wrong-camera move, than be locked out in a panic.

VISCA is UDP based and independent of NDI, so as long as you have an ethernet/IP connection to the camera, it will work.
Hmm... Where did I get the TCP idea from? It certainly works that way, 'cause that's how my app does it, but if UDP is also an option, that would simplify a command-line utility.

I looked at using SDI, but the cost of two SDI to USB convertors for laptops was too much, so I originally went with HDMI out to two HDMI to USB adapters with, as you mentioned, the delay. That was the other reason for upgrading them to the NDI firmware. And yes, if you don't have NDI, you're getting RTSP from the cameras which is virtually useless.
Yes, SDI -> USB is stupid expensive. If you're going through USB anyway, it's much cheaper to convert to HDMI first and then capture that.

I have the rack version of the X32. I think it is 2U or 3U and has a display. I didn't see the core version when I bought this, so I suspect it is no longer available.
I think it's 3U, probably for the back-panel I/O, and since they had the space, they might as well put a screen on it too.

The X32 Core didn't last very long. I was saving up to replace the mission-trip XR18 with one of those + 24-32 ins and 16 outs worth of "remote" boxes in the same rack (more rack-efficient to do it that way if I don't need local controls), but by the time I got there it was already gone. That was around 2014 or so if I remember right. Only the more expensive M32 Core was still there, at the same price that it always had.

I ended up keeping the XR18, with its 16+2 ins and 8 outs, feeding a custom analog patchbay of 16 outs:
4-ch PA amp (normally bridged to make it a high-power stereo rig)
8-ch HP amp (some share the same mix)
4-ch XLR to feed whatever
 

AaronD

Active Member
You might be interested in these scene files. (remove the .txt extension that the forum requires)

AutoLoad-Startup.scn.txt gets pushed in from the Pi every time the X32 starts. It's modified from a normal scene file, to make it disconnect everything quickly, first, then load everything except the connections, and finally connect everything at the end. That makes it "pop-less", quickly kills a feedback loop that someone might have left in it, and gives a nice visual representation on a full console (and maybe the app too) of what it's doing and when it's done.

PalmSunday.scn.txt is what we ended up with at the end of today's service. YouTube is still processing the video, so it's not up on our channel yet. Once it is, you can also see how my "phone cam" experiment did.

For the Broadcast mastering, as I said before, you can look at Matrix 1-2 and Busses 12-16. Some is in their channel processing, and some is inserted FX. And of course you can look around and see what else we're doing. Maybe even figure out why.
 

Attachments

  • AutoLoad-Startup.scn.txt
    69.8 KB · Views: 8
  • PalmSunday.scn.txt
    67.6 KB · Views: 7
Last edited:

AaronD

Active Member
Hmm... Where did I get the TCP idea from? It certainly works that way, 'cause that's how my app does it, but if UDP is also an option, that would simplify a command-line utility.
Found it! Looks like it can officially do both. I probably chose TCP because of the more guaranteed connection to keep a stream of data going, even though there's only a single switch in between and it's entirely wired.
(I draw a box over a composite image of the room, to show what the frame is in real-time, as well as showing the raw numbers as text. If I'm bored and one of them is autofocusing, I can watch that number change...)

For a command-line utility that just sends the camera to a predefined shot and exits, UDP is probably better.
 

Attachments

  • PTZOptics_TCP_UDP_CGI_Control-1.pdf
    39 KB · Views: 11
Top