StreetJelly BLOG: Community News, Video Streaming, Online Busking, and more…
Home » Posts tagged "performance"

Fighting WebRTC Audio Sync Issues

Fighting WebRTC Audio Sync Issues
Subtitle:  Mainly with Chrome

Audio Sync issues are when the audio and video get out of “lip-sync.”  The sound does not line up with what you see.  Many folks call it a “lag.”  (We also have heard people call it a “latency” problem, but that is an incorrect description.)  This problem can happen with any broadcasting software, but it appears to happen more often on Chrome streaming with WebRTC.  This does not mean, “Firefox is better than Chrome,” or any one browser is superior.  We are only saying this one specific problem happens to a few broadcasters while on Chrome.

The guts of how WebRTC streams, also known as the encoder, processes the audio and video separately. They are streamed separately, they travel across the internet separately, and it is your computer at home that has to put it back together in-sync.  When a moment in time of the audio and video are sent across the internet too far apart from one another, the result is audio that does not match video.  That’s just the way it works!

Processing audio is easy from a computer’s point of view, there is less data to manage.  Video, on the other hand, takes massive amount of data and processing to produce a video signal.  The CPU (central processing unit) of the computer, a.k.a. the brain, can only handle so many calculations at one time.  When there is too much data to process when streaming, it is generally the video that gets processed slower than the audio.

The result: the audio is encoded first, and the video lags behind.  Look closely at a sync problem broadcast – you will almost always hear the sound / voice first, then witness the video catch up.

How to fix this problem?  Start by understanding that anything that can free up your computer’s CPU from tasks, or reduce the amount of video data to process, will help:

  • Make sure your browser is running the latest version. We will say this a 1,000 times… it’s very important with WebRTC to be on the latest version because the browser makers release significant changes with each new release.  To check / update Firefox or Chrome, go to Help >> About.
  • Turn off any software running on your computer you do not need for streaming.  Anything to free up your CPU will help.  Close multiple browser windows and tabs, close music recording software, close any games and video intensive software, and so on.  And close dang Facebook!
  • Choose 4:3 SD (standard def) streaming on StreetJelly.  Obviously, 720p HD takes way more CPU cycles to stream.
  • Adjust your webcam to the lowest decent quality.  Your webcam may be set at very high HD settings. The encoder then has to convert that video to lower quality for streaming.  That takes a lot of CPU power to do that.  In the hardware settings for your camera (not on StreetJelly):
    • Match the screen size of the webcam to the screen size chosen for broadcasting on StreetJelly.  For example: 640 x 480
    • Set the frame rate (if available) to 15fps, frames per second.  The WebRTC encoder defaults to 15fps, so it will get converted anyway.
    • Set quality (if available) to medium, or somewhere around 80%.  Different webcam vendors approach this setting differently, but the key is to dial it off the very top, but don’t go all the way to the bottom.
  • Remove any webcam effects from your broadcast.  This includes extra graphics embedded into the video (snowflakes, alien heads, swirly do-dahs, etc). All these require massive CPU processing to generate.
  • Remove any lighting effects in your home studio.  Yes, we mean swirly lights in your room in the real world.  This affects compression. The more areas within your video frame that do not change over time, the more your video gets compressed into smaller data chunks.  This reduces the amount of bandwidth needed to stream and process.
  • In your computer’s video settings (at the hardware level):  make sure any “hardware acceleration” settings are turned on.  I’m sure that sounds vague, but there are far too many video card drivers, manufacturers, scenarios, etc. to write about in a single blog.  The key here is to maximize the CPU and GPU (graphics processing unit) settings.
  • Get a faster computer! 🙂

UPDATE APRIL 19th, 2017

So we know Chrome can be a CPU hog, and these issues can get the audio out of sync.  One thing to try – and definitely check – is the Chrome “use hardware acceleration” setting.  Hardware Acceleration is a feature on most computers to use the GPU (graphics processing unit) for video processing. In Chrome, this can be controlled with an Advanced Setting called:  “Use hardware acceleration when available.”

Normally, this setting should be checked.  Check it now with these instructions:  http://www.pcadvisor.co.uk/how-to/internet/how-turn-off-gpu-hardware-acceleration-in-google-chrome-3605455/

For some with audio sync issues, UNCHECKING this setting may help.  It’s not a guarantee, but worth a try.  Sometimes a computer’s video card drivers could be out of whack (I literally had that problem with an old Lenevo laptop).  Using software to process the video software can possibly fix (or avoid) a hardware issue.

For a bit more detail about Chrome and Hardware Acceleration, here’s another nice article:  https://www.lifewire.com/hardware-acceleration-in-chrome-4125122

Heckling

Special guest blog on Heckling in the new Social Media World, by Clifton Printy

ShoutingHeckling

Heckling is generally defined as trying to…

”…to embarrass and annoy (someone speaking or performing in public) by questions, gibes, or objections; badger.”
http://www.thefreedictionary.com/heckling

However, it is also a more subtle problem. I would further define it as intentional and unintentional acts that cause breaks, gaps, disruption, and interruption of the performance.

Most of the performers here on StreetJelly are not technological wizards freshly instilled with a degree in sound engineering or computer programming. It is their intention to share a passion and love with you. Many of them are in fact singular musicians who have only begun to perform publicly online.

Please remember that as an audience member you have a job. You came for a great performance. Here’s how you get one.

  1. Encourage, Encourage, Encourage
    • “This song is OWNT!” (David Wesley)
    • “Super Great”
    • “That song was awesome”
    • “Holy Moly” (Frankie)
    • CNTRL Clappy Clappy Clappy
    • “You are amazing”
  2. Sell
    • Put the performer’s link in the chat.
    • Chat to and about the performer. (DCrann)
    • Favorite the artist so you can see when they are on.
    • Share their performance links on social media pages.

Now for the hard pill to swallow. If you are not going to pay for production, or transportation for tutelage, and/or are not Simon Cowell; then it is probably not helping if you critique the performer’s style, ability, prowess, set-list, or looks. These things stall the performance at the least and completely decimate an artist’s timing at most. Think about it! They are remembering the chord progression, the lyrics, the pitch, the tempo, and the punch line introduction to their next song. As they answer a question about how they are, read a side joke between Image and Clifty that makes no sense what-so-ever, and quiet their friend who has just barged in; you say, “raise the bass a little.” It is completely disarming! Worse still, when a musician has a connection problem or a sound problem that is not readily repairable, he or she is constantly attacked.

Look out folks, I am just getting wound up. Making a request from an artist usually involves having an understanding of the artist. However, you have to remember that you are trying to make the show better. If you ask Image and Family to play Pantera, you are unequivocally heckling with malicious intent. As funny as it would be, we should remember that our job as an audience is to enjoy the show. For the Image and Family show, a good request may be Drunken Sailor by Great Big Sea. Continuing on with this particular vent, there are people who understand this. Ever notice that when someone is barraging the request-o-meter with impossibles that a Don Gaynor or a Damian will come in and request a song they are sure the artist is good at. They are a practical participating audience.

Important and most obvious: not every performer is for you. If you don’t like a show or performer, just leave the show. Everyone has something to offer, but maybe not to you. Be polite, too. An explicit comment may work sometimes, but not other times. Remember that your chat is visible to not only those here but those who will join in a moment. If you know you are derailing the show, pull back and encourage. You are the audience, not the heckler.

Also, a certain persistent problems frequently arise from a free to use site of this nature. Please be kind and courteous. Smoking weed, swearing, illicit sexual content, vulgarity are not always appropriate in the conversation and/or the performance. Many of us are here for pure music and art. We are all of different values, culture, and political opinion. Going into a family performance such as Image and Family’s show, or Lana Eve’s performance with illicit sexual rhetoric is more than a social faux pas: it is blatantly rude. Would you act like that at the White House, church, grandma’s house? I bet not. Could you drop a licidious comment at Molotov Colostomy’s show? Sure, they are a different sort of musicians all together. But you shouldn’t go there and try to pull a sermon off, either. Very honestly, you are not anonymous and it is not your chat. It is the artists’ show, and all viewers are entitled to hear and enjoy that performer without the rudeness and distractions from a few jerks. Make sure you know the performers and their sense of propriety before you try to shout out the familiar…. or you will really be a heckler.

Clifton PrintyLikewise, performers need to remember to be cognizant of the camera personally seeing boogie sleeve wipes, a crotch torn out of a pair of jeans, a funny cigarette, a nose pick, (special woman note: don’t bend down in front of a desktop cam), and pay attention to what you have in the frame around you since you are also live to the world.

Last, most performers here are willing to play for free, and we do. But your tipping shows us that we have value. Want preferential request treatment, familiarity, and kinship, then give compliments that come from the heart. You will know if it’s good if it builds friendship, and makes it more enjoyable for the listener and the performer.

P.S. Believe me, some of this is learned from personal mistakes. Our personal accountability will keep StreetJelly.com a wonderful and rare respite on the internet.

Tips when Broadcasting from Public Venue

Live Show

We love it when StreetJelly musicians broadcast their public performances.  But it takes a little extra care to produce a decent show.  Below are three main areas to consider when setting up a successful streaming event.

WiFi

Biggest thing to remember, not all wireless internet, WiFi, is created equal.  In fact, public WiFi is notoriously slow in many venues.  The local wireless router at a club or coffee house is usually dialed down to prevent any one person, or group of people, from hogging up the entire bandwidth.  Most small WiFi routers just can’t handle everyone camping out at a table, sipping coffee, and watching YouTubes all day long.  A slow internet connection will cause your StreetJelly video to be choppy or freeze, and make your sound cut out often.

What to do?

  • Test, test, test.  Go to the venue ahead of time and test their WiFi connection.  Make sure their internet is fast enough to broadcast and receive video.  Also, test during peak times when there are a lot of people in the building.  Everyone of you will be competing for the same bandwidth.  Use the StreetJelly broadcast-testing page to analyze how well you can broadcast.
  • Talk with the venue owners.  For one, you should already have permission to broadcast from their location, right?  Many times, a venue will have another password-protected WiFi network they use for themselves.  Ask if they have a second fast and reliable connection to the internet you can use.  They will probably be happy to help as you certainly can help promote the local venue in your show.  “Come on down, it’s Happy Hour at the best pizza joint in town.”
  • Another option, bring your own WiFi.  Most cellphone carriers offer 4g Hotspot or MiFi devices.  These work great and almost always guarantee a very strong internet connection (unless you are way out in the boonies).  But beware, this is expensive and data charges can add up quickly.  Most data plans ($50-80/mth) often limit 5 to 10 gigs of data transfer per month.  A typical one-hour streaming broadcast can use up to 1 gig of data transfer.  The penalty fees can be outrageous if you go over your limit.

Sound

Just as important as a good internet connection is your sound.  (I love stating the obvious.)  However, getting a public performance to stream well over the internet is much different than streaming from your living room.  We try to make StreetJelly as easy as possible to broadcast from home – a typical guitar player / singer can do well with a simple USB microphone like the Snowball or Meteor podcast-style mics.  Being in public, however, you are most likely using a lot more equipment to get a good and loud sound in the venue.  You cannot rely on your computer’s mic to pick up that sound well to broadcast upstream.  You will need a way to get the sound out of your equipment into your computer.  Most built-in computer mics, and even the better USB mics, can only pick up sound within 10 feet or less.  In a large room, even with high volume, these mics will pull in a dull and muddy sound.  Folks are tempted to turn up the input levels, but only to find they pick up more ambient noise (people talking, dishes clanging) with no improvement to their music.

What to do?

  • Do not use the built-in mic on your computer – never for a public broadcast.
  • Only use a USB podcast-style mic in a small intimate setting, like a coffee house, with very little background noise.
  • Use the output from your mixer to feed directly into your laptop.  An external device that can mix your sound and produce a single source to your computer works best.  Here’s an example of a “mini-mixer” device, the Alesis MultiMix 4-Channel USB Mixer.  It does a good job and is very easy to set up.  (Please note: we mention these products only for your convenience.  There are many similar products out there.  If you have used any to success, tell us below in the comments.)
  • Test at home.  It could be hard to test your full setup ahead of time at a nightclub, so best to get the feel of everything at home first.  Try your garage or wide open basement.  That will best simulate the horrible bouncing conditions you may encounter in a restaurant or club.  Set up your mic, amp, mixer, everything.  Jam as loud as you would in public.  Then test broadcast on StreetJelly’s test page and have a friend help confirm your sound settings.

Overall Package

Performing live to a public crowd, large or small, is not the same as broadcasting and chit-chatting on StreetJelly from your couch.  To think you can “throw up a webcam” at your next open-mic and hope everything is good enough; will be very disappointing.  At best, you will get the “webcam in the corner” affect on StreetJelly.  You’ve all seen this a hundred times.  A band is “streaming live” at some club – but the show is terribly boring as you only see the one tiny cam image from somewhere in the club’s rafters, and the musicians never looking into the camera.  StreetJelly viewers will get bored and not stay long …and not tip much, either.

What to do?

  • Frame yourself in the camera as best as you can, and as close as you can.
  • Remember you are performing for two audiences; the one in front of you and the one on StreetJelly.  Talk to both parties.  Even a simple acknowledgement can make all the difference.  Part of your skill as an entertainer is “working the crowd.”  Do it.
  • Get a friend to man your StreetJelly chat.  If you can not have your laptop close to you on stage, get a friend to chat for you.  The StreetJelly viewers will understand if you can’t read, type, and perform all at the same time.  But having a friend by your side to answer questions, tell everyone the name of the venue, the songs you are playing, etc., will translate into a nice experience for all those online  …and hopefully more tips!

Final thoughts.  As much as you practice your vocal range, picking skills, and songwriting ability; performing in front of an audience is also part of your craft.  Work it, practice it, and perfect it.

Any musicians with experience streaming from a public location? Please add your insights below in the comments.