Spoiler Warning Command Center

By Shamus Posted Thursday Sep 18, 2014

Filed under: Spoiler Warning 71 comments

Our setup changes from time to time, and people ask us about this frequently, so about once a year I end up doing one of these posts where we explain how we produce our long-form videogame nitpicks. Obviously our setup has gotten more involved recently, since we’re now doing console games.

Note that all of these images are of Josh’s setup. He lives in Nevada and I live in Pennsylvania. There are 2,000 miles between us, so I’ve never visited his place. Which means this is my first time seeing this stuff.

First, let’s get the basic details out of the way:

The whole team gathers on our private Ventrilo server. That lets us talk to each other, and we use that to record the commentary portion of the show. Usually Josh and I both record the session, so we have a backup in case something happens to his recording.

My only other job (besides running my mouth) is to be in charge of the clock. I use this page to track the time and let everyone know when we’ve reached the end of an episode. I’ve been using that since the first season of the show. It’s ridiculous that I’m still using it, since there are a thousand other apps out there that would accomplish the same thing without wrapping themselves in ads like that, but I’ve never bothered to change because I’m a creature of habit. I generally watch the clock and call the end of the episode in the first conversational lull after the 20 minute mark. (But I don’t generally let us go above 25, even if that means cutting a conversation in half.)

We record a single unbroken hour-long session, which will later be divided into three 20-minute episodes. This is often frustrating for viewers. If we forget to turn subtitles on, then people will say “Please turn subtitles on.” Then the second episode comes out and people are like “YOU STILL HAVEN’T TURNED ON SUBTITLES WHY WON’T YOU LISTEN?!?!?”

He’s like a movie scientist: MONITORS EVERYWHERE.

Once we’re in Vent, Josh fires up whatever videogame we’re playing that week. Now, he needs to do two things with these game images: He needs to stream the game to the rest of us so that we can see him play and comment, and he needs to save the raw footage locally so he can put it in the show later. He can’t use the stream footage for the show, because the stream is a low-quality, super-compressed soup of pixels, because speed is more important than quality.

All streams are on some kind of delay. It’s inevitable. Josh is uploading a feed of videoThe vast majority of users have slower, laggier upload speeds compared to download speeds. to the server, where is gets compressed even moreIf you’re broadcasting video to thousands of people, then you’ll probably want to be really aggressive with compression, since bandwidth is far more expensive than CPU cycles. compressed before being sent out to the viewers. If you want to know more about this, here is my longer explanation of video compression.

A brief history our our streaming services: We used to use Livestream, but their incessant ads would interrupt our viewing several times an episode. It was infuriating. I would gladly have just paid a subscription to watch ad-free, but they didn’t offer anything like that. So we ditched Livestream and moved to Twitch. They were great until early this year when they overhauled their serviceDue to the massive influx of Playstation 4 streamers, since Twitch had partnered with Sony to do the PS4 streaming service. and suddenly those of us watching the game were on a 45 second delay instead of an 8 second delay. It’s impossible to have a sensible live conversation with Josh when we were seeing things 45 seconds after he did themTwitch CLAIMED that 45 seconds was the new delay, but in practice it actually drifts quite a bit. After half an hour of viewing, you’re probably more like two minutes behind. You can pause and restart the stream to get caught up, but then you get to watch another ad.. This might have sank our whole show, but a benefactor stepped in and gave us access to a private streaming server where we can stream with no ads on a dependable 5 second delay. Thank, you thank you, thank you.

For recording, Josh uses Bandicam. We used to use Fraps. Both programs let you save the HD footage to your hard drive, but Bandicam is able to do some light, non-destructive compression on the footage. This is really important if, like Josh, you inhabit a world of finite storage space.

Josh’s Playstation 4. We’ll talk about this in a minute.

The trick here is that Josh is having a conversation with the rest of the cast, but we can’t have our conversation show up in the video. If we mashed them all together during the show, then the game might drown us out and ruin the recording. More importantly, if our voices appeared in the stream then we would hear our own voices echoing back to ourselves on a 5 second delay. So Josh has to isolate Vent into one headset, and the game audio into another headset, and then he wears both headsets while recording the show. I think one ear gets full game volume, and the other kind of gets a mix of game+Vent, which makes Josh slightly less situationally aware on that side.

Once we’re done with the show, Josh takes the Vent recording, exports it to Audacity, and balances the levels. Then he fires up Adobe Premiere, balances the Vent conversation with the game footage, adds in some Kevin MacLeod music, and exports the result to a YouTube-ready video.

Total software packages used: Ventrilo, Bandicam, streaming client, Audacity, Premiere, and a AAA videogame. Many of these end up running at the same time. It really is amazing what computers can do these days.

This was the show as it has existed for the last 5 years, anyway. Now we have added a new gizmo to this ever-growing software contraption: We’re playing console games.

Plug the thing into the other thing to make the first thing talk to a third thing, I think.

Josh uses one of these, which will split the video from his Playstation 4. One feed goes to a monitor. (Which is just being used as a television in this case.) The other goes into a USB port on his PC where a program will show the Playstation 4 feed in a window. Now, you might wonder why we need the first screen when we have this window, but for reasons that have never been adequately explained to me the translation from raw video to pixels takes about 4 seconds, and you can’t very well play a videogame on a 4 second delay. I’m actually really curious about this delay. I had a similar setup many years ago, and I had a similar delay. Computers have gotten many times faster, and yet this delay has remained fixed. Think about it: During the show Josh’s computer will compress video, stream it to a server somewhere in the world, the server compresses it, then I download it, and my computer decompresses it, all within 5 seconds. And yet it takes about the same time just to take a feed from the PS4 and stick it in a window. I dunno. Seems odd.

So in the end, Josh is sitting there wearing two sets of headphones, playing the game on one monitor while a second monitor shows the same thing ,except on a 5 second delay. Now all he has to do is play the game competently while four other people shout in his ear unhelpful directions, make bad puns, talk about unrelated videogames, and generally do their very best to distract him.

It really is amazing this show exists at all. Thanks for watching.

 

Footnotes:

[1] The vast majority of users have slower, laggier upload speeds compared to download speeds.

[2] If you’re broadcasting video to thousands of people, then you’ll probably want to be really aggressive with compression, since bandwidth is far more expensive than CPU cycles.

[3] Due to the massive influx of Playstation 4 streamers, since Twitch had partnered with Sony to do the PS4 streaming service.

[4] Twitch CLAIMED that 45 seconds was the new delay, but in practice it actually drifts quite a bit. After half an hour of viewing, you’re probably more like two minutes behind. You can pause and restart the stream to get caught up, but then you get to watch another ad.



From The Archives:
 

71 thoughts on “Spoiler Warning Command Center

  1. guy says:

    Okay, could someone who really knows graphics explain why it takes longer to display the video than it takes to render the scene on the original monitor? I have no idea what’s up with that.

    1. rofltehcat says:

      Probably because it needs to go through USB and gets handled by the CPU the whole way.
      It’d probably be much faster if there was some way to directly pass it into the video card. Well, I guess there are capture cards for that but they might not work with the DRM of the video signal or be much more expensive than the current setup.

      1. Decius says:

        If the CPU can’t handle 50 ms of video in 50 ms, it can’t handle 60 minutes of video in 60 minutes.

        1. Jabor says:

          Sure it can. There’s a big difference between bandwidth and latency – latency being a function of path length rather than mere power.

          In particular, since a USB connection typically has lower throughput than HDMI, the capture device probably needs to do some compression – which must then be un-done on the host computer before it can be displayed. This adds a whole bunch of latency to the signal path, even though both devices are capable of doing it without falling behind the input source.

      2. Rick C says:

        “Probably because it needs to go through USB and gets handled by the CPU the whole way.
        It'd probably be much faster if there was some way to directly pass it into the video card.”

        Seems likely. In 2004 I had a video card with an input like that. I could play GameCube games and get the video with no delay in a window on my monitor.

        1. Jeff says:

          You prompted me to look something up, because I used to have a video card like that as well.

          I didn’t realize the last All-In-Wonder cards from ATI haven’t been made since 2008. I wonder if there are any new models like that.

          1. tengokujin says:

            I was so sad when I fried my old computer and my All-in-Wonder card with it. :/

            Especially when I realized they stopped making that card years ago.

    2. Classic says:

      My guess:
      You can’t take advantage of parallelizing that GPUs are good at when you move it across a pipe like that. Also… a USB is not a “fast” interface.

      1. Alexander The 1st says:

        Would FireWire be faster?

        1. Humanoid says:

          FireWire is comparable to USB 2.0, for that and other reasons it’s effectively been dead for a while now – the most obvious sign perhaps being that PC cases have stopped putting a FireWire connector on the front panel.

        2. Classic says:

          Like Humanoid says, Firewire is comparable to USB 2.0, and I think 3.0 has been finalized? So that’s due out at some point.
          But it turns out that maybe I was wrong and the throughput limitations of a USB port shouldn’t matter for anything short of top-flight BluRay quality*?

          Doing a little more browsing on the device’s FAQ page, it smells like the system needs a fairly fat slice of a 2+ghz core to do all of the processing it needs for storage/streaming in real time. They claim that the dongle is doing some processing on the output stream to get it into an MPEG-4 format, but the multi-core and minimum clock requirements suggest that a non-negligible portion of the processing is being tasked to the cpu.

          And, you know, doing anything windowed means that your system has to strain that much harder to get stuff in order.

          *
          I’m seeing other folks say that usb2.0 can’t handle 1080p at 60hz, but other folks are saying that a BluRay stream is well under the bandwidth on a usb2.0 line. Dunno who to trust on this one. Used too much time having fun with this already.

          1. Tuck says:

            USB3.0 is standard on most new PCs now. My laptop (bought last year) has some USB3.0 ports.

            USB3.1 is being pushed now.

          2. DrMcCoy says:

            The problem with USB is not just the raw throughput, but also the timing / limit on the USB packets.

            I can’t speak for that PS4-USB-thing, but that’s for example the reason why bit banging with an RS232-to-USB dongle (for example to program a microcontroller) is really dead slow. You’re basically wrapping each state change of the serial lines into an USB packet and there’s a limit how many you can send per clock cycle.

        3. tengokujin says:

          PCIe would be best, actually. Most ultra-low-latency video capture cards plug into PCIe because the bandwidth available on PCIe is huge. Just googling “low latency capture card” brings up stuff like this: https://obsproject.com/forum/threads/hd-capture-cards-with-little-to-no-preview-lag.8181/

  2. rofltehcat says:

    That giant glass desk <3
    (probably a pita to clean)

    It needs more screens, though.

    1. This. I hate glass desks and pretty much every transparent computer peripheral ever made. People who bought those clear acrylic PC cases were just asking for abstract art made of dust to appear in their cases overnight.

      1. Josh says:

        Actually this desk doesn’t get very dusty and it’s pretty easy to clean smudges and such with a wet cloth. That said, it had built up a lot of small scratches which look pretty bad when the light in shone directly on it. But that rarely happens anyhow.

        1. MichaelGC says:

          It’s often difficult to mentally reconcile the apparent disconnect between Reginald-Cuftbert-kill-ALL-the-things Josh, and Theodore-Roosevelt-houseproud-history-buff-and-chef Josh.

          Difficult, but fun! XD

          1. Majromax says:

            > Theodore-Roosevelt-houseproud-history-buff-and-chef Josh.

            Teddy Roosevelt, the original Bull Moose? Teddy, “speak softly and carry a big stick” Roosevelt? Teddy, “screw you Taft I’m going to run for president again myself” Roosevelt?

            Yeah, I think there’s more compatibility with Cuftbert than you’d at first expect.

      2. Joe Informatico says:

        Yeah, I used to have a desk just like this. But between my girlfriend and myself our computer area is home to 2 or 3 desktop cases, a laptop dock, 5 monitors, the modem and router, wall jacks for the house LAN, and a printer. Dirt aside, the old glass desk just revealed a mess of cabling everywhere. I gave it to my sister (whose set-up consists of a MacBook, full-stop) and got some IKEA desks.

  3. rofltehcat says:

    Is there really no alternative to Twitch? I mean you don’t want to stream to a huge audience but to a hand full of people at most, so isn’t there a viable peer to peer way? You probably don’t need very good quality either, right?

    1. CruelCow says:

      There is hitbox, which has about 6+ seconds delay in my tests. But if they have access to a private server, nothing will beat that.

      P2P could work in theory, but then everybody has a (slighty, not sure if noticeable) different delay and if one internet connection/computer has a little hiccup, all others it streams to would miss stuff too. You could avoid this by buffering a little…but then you’re back to having a huge delay.

      1. Daemian Lucifer says:

        “But if they have access to a private server, nothing will beat that.”

        Until someone donates them enough money to fly to Josh once a week and sit behind him while he plays.

        1. Paul Spooner says:

          Fly every week? Why not start a gamers commune?
          No, seriously, why have we not done this yet?
          Seriously though, think about it.
          For reals.

          1. rofltehcat says:

            Wait, isn’t that what California and Seattle are? A lot of the people in gaming media seem to live there (despite the insane costs).

  4. DGM says:

    >> “Now all he has to do is play the game competently while four other people shout in his ear unhelpful directions, make bad puns, talk about unrelated videogames, and generally do their very best to distract him.”

    May I suggest adding “Josh’s masochism” to the list of devices used to produce the show?

    1. 4th Dimension says:

      Nah, that is allready a feature of Josh198* device.

    2. Ithilanor says:

      Every time the topic of Spoiler Warning’s setup comes up, I’m amazed by how well Josh manages to play. It’s impressive.

  5. Daemian Lucifer says:

    Now imagine if only it were possible for the PiSser to send out raw digital data through a separate cable that you could use instead of its main cable used for a tv.But hey,that would be impossible to do,right?

  6. Daemian Lucifer says:

    So if Josh were to add another console,he would need one of these,right?

    1. rofltehcat says:

      I need that USB to Diesel adapter.

  7. CruelCow says:

    Have you tried using virtual sound cards instead of two headsets? I use http://vb-audio.pagesperso-orange.fr/Cable/index.htm and it works fine for me.

    1. The Rocketeer says:

      Are our gravatars brothers?

    2. Ranneko says:

      Was considering mentioning the same thing. I do that basically have mumble using my actual headset, and the default sound device as the virtual cables, then my headset listens to the virtual output.

      It is really complicated sounding, but it works and helps remove that dual audio source problem. Really wish windows would let you monkey around with what a process sees as the default sound device though, would be great to be able to change Chrome’s audio output too.

      1. Fists says:

        Are the headsets USB or just standard 3.5mm jacks? you should be able to get a 2 into 1 3.5mm adapter pretty easily

      2. Benjamin Schnur says:

        I do the same thing when I record with friends remotely. I use Virtual Audio Cable (VAC) as my default playback device, have my voice chat client output to my headphones directly, and “listen” to the VAC with the headphones.

        Everything goes to the same pair of headphones, but only the game audio goes to the stream.

        (Pre-emptive disclaimer: I’m aware that the option linked by CruelCow is cheaper than VAC, as it’s donationware. I wasn’t aware of its existence when I paid for a VAC license.)

  8. Daemian Lucifer says:

    Out of curiosity,how high would you require your upload to be in order to stream hd in real time,and how much would that cost in the usa?

    1. Chris Robertson says:

      According to http://www.soundandvision.com/content/how-much-bandwidth-do-you-need-streaming-video 10mb/s would be enough to stream HD video (and audio).

      How much it costs, depends on where you live. Google Fiber costs about $70/month (for internet only) and is available in select neighborhoods of Kansas City, Kansas and Austin, Texas. More cities are coming. Verizon has their FIOS offering, which is $70 a month (for the first year. Their site is too obtuse for me to find regular pricing.). Comcast seems to offer a 20mbit upload for $35/mo (for the fist year, About $70 thereafter).

      If you are outside a major city, it can get quite a bit more expensive.

      1. rofltehcat says:

        Are those upload or download speeds?

        Also, this seems pretty steep. I’d hate to have to pay that much. Luckily German internet service prices aren’t that high.

        I’m just paying for one of the cheapest plans but I get 16 mb/s (effective 12 down, 1 up, no dl cap) for 25 €/month. If our property management didn’t suck I’d have fiber for higher speed and 5 €/month less (they sold the exclusive rights to supply fiber internet in their properties to a company that supplies it in 1 mb/s 30 gb/month cap chunks… that contract is from 1995 or something and so their speed is stuck in 1995, probably with a few decades to run on that… worst part is that I am forced to pay for two of those chunks (2*8 €/month) via my electricity/water bill. WHO MADE THAT CONTRACT?!?!) /rant

    2. TouToTheHouYo says:

      ~5/mbs for 720p, ~10/mbs for 1080p. That’d run around $50~$100/mo depending on region, carrier, and packages. Most people tend to shoot for cheaper low-end streaming unless they’re looking to make a business out of it or have the money coming in from elsewhere.

      Generally slow and expensive cable speeds are principally what make fiber so enticing; even accounting for variability and hyperbole ~1000/mbs upload/download is any even semi-serious netizen’s wet dream. So many of our present data problems would practically disappear if only these blasted telecoms companies would invest into the new infrastructure, but why bother upgrading when you already run a virtual monopoly?

      1. Epopisces says:

        I work for one of those giant telecoms, and the main barrier to putting everything on fiber is the prodigious cost of installing it in a given area. It has to be buried in most cases, and running a line to every home is an incredible expense with very little return on investment, particularly if the price a customer would/could pay for that fiber service is pretty much the same price they pay for cable currently.

        There are some government grants available for putting in fiber, but it is not a fully subsidized field by any means. That means that fiber optic services are installed on an as-needed basis, for the most part. Most new commercial housing developments (condos, apartments, businesses, etc) have fiber run directly to every unit, which is great. However when it comes to existing residential the big service providers looking to fiber for the future (Google, Verizon, AT&T) are tackling things one city at a time. If you live out in the country (and we have a LOT of out-in-the-country here in the US) you will probably never see fiber unless you are lucky enough to be near a national backbone.

        One side note: the current cable & internet providers (AT&T & Time Warner at least) incorporate fiber in their current networks: every neighborhood that currently gets service over 18mbps has a fiber optic cable that terminates in a metal case. From there it is distributed over the existing local plant (copper telephone wiring for AT&T or coaxial cable for Time Warner), which can only sustain the higher speeds over short distances. This has been a decent (if less-than-ideal) stopgap while we wait for fiber to become more widespread.

        -Epopisces

  9. Geebs says:

    A half decent headphone amp with more than one line in would allow Josh to mix the conversation into the game sound in a single stereo headset. It’s like wearing two headsets in one!

    Edit: mine’s an Alto but I’m sure any brand would do.

  10. bucaneer says:

    The five second stream delay still seems a bit high in a suspicious way, for this sort of setup. The solution I kept plugging back when you moved from Twitch works at a delay of roughly ping + half a second (that accounts for video encoding, translating that into a web-accessible stream, and any client-side playback related delays). 5 seconds suggests that some kind of buffer is involved – it could be in the rebroadcast server or in the player that displays the stream. If you use a Flash-based player in a browser, then perhaps try switching to the one linked in that old comment which is configured to play without keeping a buffer. In any case, perhaps have a word with whoever is hosting that streaming server and see if the delay could be cut even more.

  11. Richard says:

    The reason for the delay is that the box of tricks is not only capturing the video, but compressing it as well in order to squeeze it down the USB cable.

    It’s exactly the same reason as the 5-sec delay on your private stream, just without the Internet delay on top.

    And as to the delay itself – you can get better compression if you know about the future.
    Not only is there a CPU/size tradeoff, there is also a delay/size tradeoff as well.

    1. JackTheStripper says:

      The weird thing is that the even the newest device from that company still uses USB 2.0 to interface with the computer. Seems like a really small bottleneck considering the newest device boast 1080p resolution at 60 frames per second.

      I’ve often thought of getting a device like that just to have my consoles and satellite service available on my PC for recording or just to watch them without having to change inputs, but this delay is unacceptable with technologies like Thunderbolt already available.

      1. ET says:

        Even USB 3 would be approximately 10X the bandwidth. ^^;

        1. Bryan says:

          Why use USB at all? Why not plug directly into PCIe?

          One answer, of course, is that the circuitry for a USB video camera class device is cheaper to build than the circuitry for a PCIe device (and with video-class, you don’t even need a driver), as you don’t have to do any of the shenanigans to get the device actually hooked up to the PCIe bus. (Which, I have to imagine, would be best accomplished by having a separate PCIe “card” that just passes the data pins out over some kind of connector to the device that plugs into the PS4. But that’s still cost for the board and etching, and the bracket, if nothing else.)

          But the bandwidth is quite a bit higher (x16 on gen2 is 8 gigabytes/sec, and x16 gen3 — if gen3 is present yet anywhere; been out of the motherboard market for a while — is 15.4 gigabytes/sec), as is the distance to the CPU on the motherboard (because the USB controller+hub are pretty far out).

          On the other hand, this is basically Thunderbolt (even though TB is only x4), if you drop the displayport. But the interesting thing is, it’s moving data in the other direction, and you need something in the CPU to read that out fast enough to both stream and record it.

  12. Paul Spooner says:

    Neat setup! Thanks for working out ways over all these technical hurdles! It’s great fun to enjoy the “looking over someones shoulder as they play” interaction which I became familiar with in childhood with my siblings.

    I’m wondering though… why the curtains? I mean, free, natural light, right there, so you block it out and then turn the lamp on? What’s up with that?

    1. Joseph says:

      Presumably he’s avoiding screen glare. Maybe I’m just weird, but looking at screens with bright natural light in the room drives me crazy.

      Or it could just be that the sun was causing important parts of his setup to be underexposed in the photo.

      1. Josh says:

        Pretty much this. With camera flash and the light from the window it looks overexposed and without flash, underexposed.

        Also I totally don’t play games with the curtains open because of the aforementioned screen glare, so the curtains are typically closed anyhow.

  13. Aldowyn says:

    I’m still not sure why Josh needs 2 headsets, speaking as someone who does something very similar myself. I know you can set fraps (and presumably bandicap has an option like it) to only record audio from the game, and surely Audacity can just record input from the microphone without including the computer’s output?

    The biggest difference in our setups though is that we used Skype (occasionally a pain) and just recorded the whole call with yet another third party app (Call Graph) so the only audio mixing I did was between the game and the commentary track. (and any music I happened to be using, although I used WMM which is lame and I think can only handle one additional audio track? So music OR commentary.

    1. Naota says:

      I do basically the same thing with Full House: game audio through my speakers, Skype audio through my headset, record the Skype convo on Call Graph (though I’m looking to replace this one – Call Graph is noticeably lower quality than actual Skype, and that’s saying something), record my own voice with Audacity, stream the game with OpenBroadcaster, and finally get the game and game audio with FRAPS.

      Then it’s just a matter of syncing up my audio, the others’ commentary, and the game footage. I can balance the audio of all three independently in Sony Vegas, and generally record an hour or two of footage at a time. Any music or other sound gets slotted in on a different track.

  14. I would’ve predicted a lot more half-full and empty bottles.

    1. silver Harloe says:

      Aye, that corner of his place is very clean and tasteful.

      1. Josh says:

        You should see my kitchen.

  15. The Rocketeer says:

    Josh’s computer station is classy as hell. Green-shaded desk lamp and everything.

    It’s what Teddy would have gamed on.

  16. WILL says:

    Josh cannot possibly be balancing the levels because the amount of times I’ve listened and been surprised with compressed audio screaming/laughing is pretty high.

  17. Rick says:

    So if it takes four seconds to convert console feed to the computer, and the stream is on a five second delay; does that mean that console streams are on a nine second delay, or is the console feed directly streamed?

  18. ET says:

    Question:
    Does the 4-second delay from Josh’s PS4-input device get added to the delay across your internet server? i.e. Are you guys on a 5 second delay for PC games, and 9 seconds for consoles?

    1. Rick says:

      What an excellent question! ;P

    2. Shamus says:

      Huh. I would assume so. Josh?

    3. Josh says:

      Yeah, the delay estimate in the post may be a bit high. The pass-through delay from the Elgato is probably closer to two to three seconds, and the stream delay is often two seconds or less. With a normal game, we’d see two, maybe three (if someone is lagging) seconds of delay from my PC to the stream. From the PS4 we’ve got that plus the two to three second delay on the pass through, so four to six seconds when we’re doing a console game, I’d say.

  19. kunedog says:

    I remember reading that video compression post when it was new. Since then, a decent watchable version of GIitH has appeared:

    https://www.youtube.com/watch?v=gzoEK545j64

    It isn’t abnormally huge, so there a few possible explanations:
    a) No high quality source was available (as you suggested).
    b) No one who encoded&uploaded it before knew what they were doing.
    c) Codecs have gotten better.

  20. @Shamus

    I saw the stopwatch you use and thought… hey you could use something better than that.

    So….

    Here you go! A lil’ gift to you and Spoiler Warning.

    Spoiler Warning Stopwatch

    I put it on Webdevout.net which only keep it up for 7 days before deleting it, a tad short time but unlike other online “pads” they don’t add any tracking junk to the posted code.

    The Spoiler Warning Stopwatch is very simple (and similar to the one you already are using, but not a clone.)

    This one is not flash based, instead it uses HTML, CSS, and Javascript.
    It is designed such that it’s all in one file, just save the page as Stopwatch.html and double click it to run it locally.
    Works fine in latest (per this date) Chrome, Firefox, Opera, IE browsers.

    The stopwatch updates at 100ms intervals, which means 10 FPS.
    Unlike a lot of other implementations out there mine measures time so there will be no drift due to latency executing the code. (the interval is guaranteed to only be around 100ms but may end up being more or less than that).
    And should you run it for longer than 24 hours it will simply wrap around from 23:59:59 to 00:00:00 again.

    Pressing “Start” starts it, which changes the start button to a “Stop” button (hence the name Stopwatch I guess).
    The “Reset” button will reset the counter.
    Pressing stop acts as a sort of stop and pause hybrid, it is stopped but will continue where it left off if started again.

    Oh and I’ve also given Spoiler Warning the copyright so do with this as you please.

    There are no comments in the code of the page, but hopefully it’s clean enough/easy to understand or read.

    It is also re-sizable so you could make the browser window really small and put it in the corner of your desktop/monitor.

    Anyway, hope you find some use out of this, maybe even tinker around a little.

  21. Chris Kerr says:

    Josh: Do you (or any of your local friends) have any DIY electronics experience?

    Even if you can’t fix the Ventrilo audio in software, it’s super easy to fix the two headsets problem in hardware. All you need is a simple active mixer with level controls on the front end, like this: http://sound.westhost.com/articles/audmix-f4.gif

    Find someone who knows electronics, show them that schematic, and ask them to build you a version with two stereo inputs and a stereo output. The most expensive component in that device would be the box you put it in.

    If you don’t know anyone, email me your mailing address and I’ll build one and send it over.

    1. There is a also the software solution using a virual mixer and virtual cables.

      http://vb-audio.pagesperso-orange.fr/
      If you look at the bottom under Donationware you’ll see these listed:
      http://vb-audio.pagesperso-orange.fr/Cable/index.htm
      http://vb-audio.pagesperso-orange.fr/Cable/VirtualCables.htm
      http://vb-audio.pagesperso-orange.fr/Voicemeeter/index.htm
      At the bottom of the VoiceMeeter page is a PDF plus some videos.
      The PDF has an example that is similar to what Josh need for his setup.

      The latency of the VoicerMeeter and the three virtual cables is very low, the VoiceMeeter itself comes with a virtual cable too.
      The virtual audio cables are properly signed so there are no issues installing these even on 64 bit Windows.

      But if the VB-Audio software mixer and virtual cable setup is something that the computer handles fine (you can do some fine tuning to deal with latency/audio buffers of VoiceMeeter and the cables) then this solution is pretty flexible.
      The three virtual cables (and the VoiceMeeter input and output) show up as separate virtual soundcard input and outputs and you can set the input and output of Ventrilo as one of them, to “catch” the game audio you simply set a virtual cable (or the VoiceMeeter input) as the default audio output on in Windows.

      If you look at the VoiceMeeter PDF and Case Study #1, that is pretty much the setup that Josh would need, but instead of a music player he would have the game instead.

      And here is a youtube video showing an example of a similar setup. (system audio + hardware microphone + VoIP application)

      The cool part is the A and B outputs (as you can then listen to the mixed audio locally and send a copy back through the VoIP software but minus the VoIP output audio in the return obviously).

      Now if you want to go the hardware route then something like the smaller XENYX mixers from Behringer is pretty nice.
      http://www.behringer.com/EN/Category/Mixers.aspx?s=G100
      The XENYX 302USB (is USB based) and the XENYX 502 (not USB) or XENYX 802 (not USB) might be worth taking a look at, they are among the cheapest hardware mixers available.

  22. Neko says:

    I assume the latency in the video capture device is due to the sophisticated “constantly check that this is not a Hollywood movie” chip.

    1. Richard says:

      In this case it isn’t.

      If it spots an HDCP protected video stream it simply stops working entirely, in order to comply with whichever US law it was that made it illegal to attempt to circumvent copy protection, regardless of the purpose of that circumvention.

      So far, the only people that I know of who have been inconvenienced by HDCP are Microsoft UK and Intel at a joint launch event.

      They also got eaten alive by Windows Genuine Advantage, needing us to put up a satellite internet feed simply to get their demo machines to boot at all.

      Which was fun.

  23. For those interested I tinkered a bit further on the Stopwatch, it now have a “Mark” button allowing you to set marks, this causes a list to be updated under the stopwatch with your marks (total time so far is displayed plus the duration since the last mark in millisecond precision).
    If stopwatch is reset the marks will reflect this.
    If you stop the watch and then reset the mark list will be cleared.

    The StopWatch is temporarily on my website isolated from the rest of the site, I’ll merge it with the site later, but will provide a zipped download of the “plain” stopwatch so folks can use it offline with no extra clutter.

    But for now just save the Stopwatch as it is, it’s all in a single file, and no extra junk.
    Unless any issues crop up this will probably be the final version (for the foreseeable future).

    Enjoy.

    1. I did some minor improvements, now the marks are put in a textarea instead, the advantage of this is twofold.
      You can right click and “Select All” and copy and paste the times.
      And you can add notes as you add marks, just click in the text area and you can add text.

      1. MichaelGC says:

        I’m impressed! The ‘marks’ thing sounds like a great addition: for those times when they can feel a montage coming on, for example.

Thanks for joining the discussion. Be nice, don't post angry, and enjoy yourself. This is supposed to be fun. Your email address will not be published. Required fields are marked*

You can enclose spoilers in <strike> tags like so:
<strike>Darth Vader is Luke's father!</strike>

You can make things italics like this:
Can you imagine having Darth Vader as your <i>father</i>?

You can make things bold like this:
I'm <b>very</b> glad Darth Vader isn't my father.

You can make links like this:
I'm reading about <a href="http://en.wikipedia.org/wiki/Darth_Vader">Darth Vader</a> on Wikipedia!

You can quote someone like this:
Darth Vader said <blockquote>Luke, I am your father.</blockquote>

Leave a Reply to Daemian Lucifer Cancel reply

Your email address will not be published.