NuVJ Tips: File structure
Improve your playback performance on Numark NuVJ
Regardless of which video codec you're using, organising your files and hard drives well should give you a noticable improvement in playback smoothness. What I'm aiming to achieve here is perfectly smooth video playback within NuVJ at any speed/direction on 2-3 channels, on a laptop.
In this is article I'm basically talking about PCs, but as far as I know Macs aren't much different hardware-wise nowadays so most of this should apply to them too.
Avoiding the "Judders"
If you open NuVJ and a folder of videos, drag a couple of clips in from that folder and mix them with each other, once you start to stray from the "normal" playback speed there's a good chance you'll start to get the "judders" or stuttering where the drive is trying to keep up with the data demands.
This may not seem like a big problem but DVJs and a video mixer do not normally judder and that's the approximate setup I'm trying to replicate (but a lot smaller, lighter and cheaper!) so I'd like the playback to be silky smooth all the time with no juddering.
The reason for the juddering is that the harddrive can't *actually* read more than one thing at once. It switches back and forth reading a bit of clip A and then a bit of clip B. The hard drive manufacturers do lots of clever stuff now with caching the data etc but it's fighting a losing battle. One clip playing per hard drive is the neatest solution.
Ok so grab a couple of USB2 Drives and run channel A off one drive and channel B off the other? Well...sort-of but not quite. Now we're onto busses.
In any PC you get data off harddrives via a given "Bus". A Bus is like a channel for data and can have several drives attached to it but it can only flow a given amount of data at once.
Busses also differ in their design in terms of how well they handle mutliple concurrent tasks.
Using our clips example above, if instead of using files from the same folder, you put file A and B on separate drives then drag them into nuvj and mix you should already notice an improvement in playback smoothness, particularly if you have SATA.
For a desktop system this is probably as far as you need to go - the IDE and sata busses are fast enough that for most normal mixing you'd be ok just using them without needing to separate busses further, but on a laptop you normally only have one internal drive.
The ideal setup?
Sometimes you also want to be able to run other programs at the same time as NuVJ (e.g. ableton or similar) which is where it starts to make sense to use external drives on separate busses since any other program accessing the HDD will impact on the smoothness of your clip playback.
Most PCs/laptops will have an IDE or SATA bus for the main drive, as well as normally also a Firewire and a USB2 bus. IDE/Sata as well as usb2 and firewire is pretty much a perfect setup since it gives us 3 separate busses to play with. Ideally have one drive per bus like in the diagram below:
My recommended hard-drive layout for best NuVJ performance
The IDE/Sata busses are normally significantly faster than either firewire/usb2. Off a reasonable IDE/SATA setup you may be able to shift over 100mb per second, but on firewire(400) and usb2 it's more like 40mb/sec. Please note that by mb/s I mean megaBytes per second, not megaBits.
There's a handy little utility called HDTach which you can use to test your drives and see for yourself how much bandwidth you have to play with. (HDTach download)
Screenshot from HDTach
The best setup I found was to run NuVJ channel A off a USB2 drive, and channel B off a firewire drive.
That leaves the main system drive mostly free for windows or other programs, or you can run the NuVJ background layer off it.
That gives you 40mb/s on the firewire and roughly the same on the USB2. It is possible to run two drives off just the USB2, but remember that you only have 40mb/sec to play with which both drives have to share. You might find that you still get judders with some codecs and higher resolutions.
I actually currently use a pair of USB drives since all my firewire drives and caddies have bitten the dust, but I mostly use files encoded with the "MidiVid performance codec" which is quite constant in terms of data usage so there's virtually no juddering, but if I try with Quicktime photo-jpeg it's quite noticable still.
The "midivid Performance codec" aka "MVQ", is one of the formats we offer loops in from this site - only the low-res ones don't have that codec but they have lower data requirements so it's not such a problem. Files on this site using the MVQ codec are AVI files and the filename ends with "_MVQ512.avi".
Obviously where possible use 7200rpm drives since they are noticably quicker than 5400rpm ones, but with sensibly structured data the individual drive speed is not such a big problem. A 5400rpm drive can also normally play one clip back adequately and that's all we're asking of it. With external drives the hard drive is normally much quicker than the bus it's attached to. For example a 7200 ATA133 drive might be capable of over 100mb/sec but firewire can only handle 40mb/s so the extra speed often isn't fully utilised.
If you test this idea and find it works for you then there's one last thing which will help in terms of organising the clips logically within the NuVJ itself.
Organising your banks
Assuming you're using two external drives as described above, load clips from Drive A into odd-numbered banks and clips from drive B into even-numbered banks. Then just mix odd banks with even and you're sorted. This way you can still mix A-Over-B or B-Over-A as needed.
If you want to use the background layer as well, you can drag clips from the the internal drive (C: in the file explorer) directly onto the main preview screen (i.e. the centre panel).
I rarely fill all 16 banks so tend to put A and B on odd and even banks as far as I need, and then put backgrounds from the internal drive and "special clips" whcih are drive-independent, like video inputs or flash movies, on bank "-1" (i.e. bank 16).
Remember though, that to activate the background layer you will still need to drag the clip directly into the centre panel, regardless of whether it's coming from the file explorer or a bank.
If all has gone well you should have 3 channels of video, all happily running at the same time with no juddering =)
Other factors and more testing:
Please bear in mind that is the best structure I found for mixing clips from the hard drive.
There may be other factors which influence your actual setup. If you want to run a firewire feed from a DV-cam, that data has to travel down the same bus as your firewire hdd. It might not affect your playback but it also might.
Personally I've never found having more than one device attached the firewire to be reliable enough to use live under XP, which is another reason for my two usb drives, but perhaps your experience is different. The same principle applies to USB2 too.
You can test some more unusual situations to see how the busses react to load. For instance, in NuVJ set a clip playing as you would normally from a USB2 drive, then run a HDtach test at the same time on a *different* usb drive. You can then compare those results to a test where there is no other traffic on the USB bus and see roughly how much headroom you have.
Ideally make is so that you can see both the hdtach window and your NuVJ window, and give nuvj the focus during the test so that it's the "dominant" app since that's how it would be if you were mixing at the time.
Whilst I'm not claiming this is a completely accurate method of measuring the free bandwidth on your busses, it gives you the chance to load-test various parts of your setup and build a picture of how the various elements interact.
If things aren't running as smooth as you'd like, perhaps this sort of testing can help you pinpoint the problem.
If that didn't work for you then drop me an email and we can try and figure out where it went wrong.