Question / Help Can't Hear Audio with Video Source

I'm confused. Shouldn't I be able to hear the audio that is coming from a video in the preview?

My media source is using a local MP4 video. When it runs in the preview... I do not hear any audio.

The MP4 file plays fine in a desktop player (you can hear audio from the video in that case).

How do I know what the broadcast will be like?
 

Attachments

  • 2020-04-24 11-16-33.txt
    11.8 KB · Views: 1,819

FerretBomb

Active Member
By default, media sources only play out on the stream, not to the local speakers, as that would cause audio doubling with the assumption OBS will be listening to/capturing audio over the default audio output device.

You can go into Advanced Audio Properties (click the cog in the mixer) and set the Media Source to 'Monitor Only'. Then in the Settings->Audio, under the Advanced block, set your Monitoring device to your desktop speakers. This will play the audio back over them (so you can hear it), OBS will capture that audio on the Desktop channel instead of direct-playback, and send it out to the stream. The only issue might be a few milliseconds of audio desync (maybe).
 

Meldj

New Member
Can I jump in on this thread as it's the closest to an issue I'm having that I can find

I have a media source in my scene (mp3) that I can hear when I monitor it but it cannot be heard on stream (even with monitor set to off or monitor and output). The source is set to play on all channels and channel 1 is selected for streaming.

Any ideas?
 

FerretBomb

Active Member
Can I jump in on this thread as it's the closest to an issue I'm having that I can find

I have a media source in my scene (mp3) that I can hear when I monitor it but it cannot be heard on stream (even with monitor set to off or monitor and output). The source is set to play on all channels and channel 1 is selected for streaming.

Any ideas?
Please don't hijack threads. Try setting it to Monitor Only though; OBS will try to intelligently de-duplicate audio when it detects certain configurations, but it doesn't always work.
 

Meldj

New Member
Please don't hijack threads. Try setting it to Monitor Only though; OBS will try to intelligently de-duplicate audio when it detects certain configurations, but it doesn't always work.
Sorry Ferret - I've been stuck on this for over 12 hours now and I'm close to giving up. I have started my own thread as well but it's only had one response from somebody that I'm not 100% sure is grasping the issue at play.

I've now tried adding the music as a VLC source instead of a media source. This has the same issue. When I add an audio source to my scene it does not output to the stream, regardless of what output channels are selected.
 

papafn

New Member
I'm confused. Shouldn't I be able to hear the audio that is coming from a video in the preview?

My media source is using a local MP4 video. When it runs in the preview... I do not hear any audio.

The MP4 file plays fine in a desktop player (you can hear audio from the video in that case).

How do I know what the broadcast will be like?

Hello There, this is the same issue I am facing right now. What worried me is that I was able to hear the audio that was coming from a media (video) source in the preview previously. It was just after updating my realtek HD driver that I ran into this issue. Have you found a fix for the problem?
 

papafn

New Member
I'm confused. Shouldn't I be able to hear the audio that is coming from a video in the preview?

My media source is using a local MP4 video. When it runs in the preview... I do not hear any audio.

The MP4 file plays fine in a desktop player (you can hear audio from the video in that case).

How do I know what the broadcast will be like?

Hello,

Although this issue seems very easy to fix, I haven't seen experienced streamers or IT experts offer a fix. Most people who try to offer a solution don't understand the problem. They offer basic solutions that won't fix the problem. I have watched over 30 videos and done lots of reseraches on google to not avail. Have you managed to find a fix?
 

OsakaWebbie

New Member
By default, media sources only play out on the stream, not to the local speakers, as that would cause audio doubling with the assumption OBS will be listening to/capturing audio over the default audio output device.

You can go into Advanced Audio Properties (click the cog in the mixer) and set the Media Source to 'Monitor Only'. Then in the Settings->Audio, under the Advanced block, set your Monitoring device to your desktop speakers. This will play the audio back over them (so you can hear it), OBS will capture that audio on the Desktop channel instead of direct-playback, and send it out to the stream. The only issue might be a few milliseconds of audio desync (maybe).
If there is no source in the same scene that is capturing the default audio output device, why can I not just choose "Monitor and Output"? (Beginner's question - I'm sure there is a reason you suggested your method, but it seems like extra steps in the signal path.)
 

FerretBomb

Active Member
If there is no source in the same scene that is capturing the default audio output device, why can I not just choose "Monitor and Output"? (Beginner's question - I'm sure there is a reason you suggested your method, but it seems like extra steps in the signal path.)
Because if you have your default/Desktop audio device configured globally (in Settings->Audio) it will capture the Monitored audio from that, causing an 'echoing' effect on stream when combined with the to-stream Output.
Most people have the global audio devices set, as it's a part of the default setup, as disabling those and using per-device Audio Input/Output Capture sources per-scene is not a newbie-friendly way to do things even if it's more flexible for advanced users.
 

OsakaWebbie

New Member
I come from a background of analog mixing boards, where I always understood the audio signal path. But the signal path in OBS is really confusing me - I've read both your posts several times and looked at my settings, but I don't get it yet. Until I ran into this problem, I thought that what I was hearing in the headphones was the final mix, the same thing that was going out of OBS. But apparently it's not that simple, so I feel like the only way I can be confident that I know what sound is being output is to listen to the YouTube live stream on a different computer (which is around 15 seconds delayed, so I would be way behind if I needed to fix something).

So let me describe my best guess so far of the signal path. The audio coming originally from a video file goes into OBS as part of a Source, which is part of a Scene. Then it passes through the Audio Mixer control for that Source, where I can adjust its level or mute it. The Advanced Audio Properties then routes it to either just the monitor, just the output (apparently called "Monitor Off"), or both. [Perhaps you can imagine why, at this point, I was surprised that anyone would want it only in one or the other, because then the monitor is not representing the output mix anymore.] Anyway, proceeding, then the "Desktop Audio" channel, which is not a part of any Source but is somehow always there, picks up whatever the computer is sending to the sound card (including OS notifications, things happening in other windows, etc., plus any OBS channel set to "Monitor Only" or "Monitor and Output") and sends it to some internal process that combines it with any OBS channel set to "Monitor Off" or "Monitor and Output" to become the final mix. Is that right or at least close?

I have been keeping Desktop Audio and Mic/Aux (the two channels not associated with Sources I created) muted in the mixer, because I'm not using my computer mic and I don't want OS notifications getting picked up. But it sounds like you're saying that's the wrong approach. In case you're wondering, the only sources I care about are my HDMI capture card and media files I play from inside OBS - I'm streaming church worship services, not video games.
 

OsakaWebbie

New Member
Ah, I just figured out something else that was confusing me. My own PC is Windows, but the computer I use at church for streaming is a Mac. On my PC I see "Desktop Audio" in the mixer, but I didn't remember seeing that at church. I thought it was some sort of difference in the three S's (Scenes, Sources, Settings), but I just now learned that Macs don't have a native way of capturing desktop audio (all the Mac-based gamers discuss how to set up extra software like SoundFlower or iShowU). That must be why I didn't see that channel in the Audio Mixer at church. I don't know if that has any affect on this discussion, but although I'm testing things here on Windows, what I really care about is what I need to do on Mac. Neither computer played the audio of the video files in the headphones by default, but I don't know if your suggestion of going through desktop audio applies only to Windows or also to Mac.
 

FerretBomb

Active Member
Ah, might be best to ask on the Mac Support forum section then; this one is for Windows (hence the section name of Windows Support), and as you've noticed, there are critical differences between the two. In more than a few areas, due to bonehead stuff Apple has chosen to do.

With Windows, in the Settings->Sound menu, you can configure up to four global microphone inputs, and two global audio outputs to include. These are automatically added as invisible sources to every Scene, for simplicity and convenience. You can also set your Monitoring Device here, if you have a separate Control Room audio interface output to hear the near-final mix.

Another bit you may not be aware of, audio delays are NOT reflected in Monitored audio sources, only on the final output. The same is true for some audio Filters.
One reason I'll always do a test-recording and watch/listen back, along with including sync flash/beep markers to verify sync between things like webcams, mics, desktop audio, captured video, and any video capture devices.
 

OsakaWebbie

New Member
Ah, might be best to ask on the Mac Support forum section then...
Perhaps, but I still want to understand the signal path stuff, and you are clearly knowledgeable. Plus, as today I have been reading more and more about the limitations of Macs for encoding and streaming, I'm starting to wonder if I was wrong to assume that my Windows laptop (i7-6500U dual core, 2.5GHz, 8G RAM) would have any more trouble than the Mac (i7-3720QM quad core, 2.6GHz, 16GB RAM). We're only using a 720p30 canvas (and we don't dare try to record in OBS while streaming) because we know any more would be impossible with either machine, so perhaps my PC could do it. That would solve another problem - we have been using a cheap capture card that is screwing up the colors and brightness, and I'm thinking of buying a better one, but many of them aren't compatible with MacOS.
With Windows, in the Settings->Sound menu, you can configure up to four global microphone inputs, and two global audio outputs to include. These are automatically added as invisible sources to every Scene, for simplicity and convenience.
Automatically adding secret invisible sources to every Scene is not my idea of simplicity. :-/ But as I said, I'm an old-school analog audio person - I feel most comfortable having a knob, fader, or switch for everything.
...if you have a separate Control Room audio interface output to hear the near-final mix.
Hmm, that sounds like what I was expecting the headphone jack on the computer to provide - a near-final mix (actually, I expected a final mix, not just near-final, but apparently that's asking too much). What is a "separate Control Room audio interface" - a piece of hardware? (Googling didn't help - the term is mostly associated with a module of Cubase software.) If so, how does it connect to the computer to get this near-final mix's signal?
Another bit you may not be aware of, audio delays are NOT reflected in Monitored audio sources, only on the final output. The same is true for some audio Filters.
You're right - I was not aware of those things. Thanks for the heads up. So far we haven't had syncing issues, but I do use a filter (noise reduction, because as a COVID prevention measure, we have large fans running in open windows, which happen to be within a couple meters of two omni-directional ear-worn mics!). Fortunately it seems that noise reduction is not one of the "some" filters that are applied after the monitor out, because I can hear the effect of the filter in the headphones.
One reason I'll always do a test-recording and watch/listen back, along with including sync flash/beep markers to verify sync between things like webcams, mics, desktop audio, captured video, and any video capture devices.
I can't do a test stream every week, as the people involved don't all arrive early enough for that and are busy preparing in other ways. But you said test recording, not test stream - can I assume recording would have the same mix as streaming? That would be a lot faster than creating a test live stream on YouTube, start streaming in OBS, wait for YouTube to say its working (usually 10-30 seconds), go live in YouTube, have everyone speak with their mics on, end the stream, and wait for YouTube to process it so I can listen to it. Also, if OBS flakes out and doesn't send any audio to the stream (that happened one week, and I didn't learn about it until it was too late - a simple restart of OBS fixed it), would that affect recording too? After that "silent movie" disaster I now have trust issues, so I've been doing a test stream on my own just to make sure OBS is behaving, but if a recording test would reveal that sort of problem too, it would be way simpler.
 

FerretBomb

Active Member
I'm starting to wonder if I was wrong to assume that my Windows laptop (i7-6500U dual core, 2.5GHz, 8G RAM) would have any more trouble than the Mac (i7-3720QM quad core, 2.6GHz, 16GB RAM).
Unfortunately, U-variant CPUs are ultra-low-power, optimized for battery life and severely sacrificing processing power.
What kind of GPU is in the Windows laptop? 720p30 might be possible

We're only using a 720p30 canvas (and we don't dare try to record in OBS while streaming) because we know any more would be impossible with either machine, so perhaps my PC could do it. That would solve another problem - we have been using a cheap capture card that is screwing up the colors and brightness, and I'm thinking of buying a better one, but many of them aren't compatible with MacOS.
If you select 'same as stream' for the recording encoder, there is zero extra encoding load. It just writes the existing videostream out to a local file, along with sending it to the server. The only cost is some hard drive space and iops.
Many capture cards use UVC standard these days, requiring no drivers and being supported on Windows and MacOS natively. Some do require workarounds (Elgato's HD60S is one example), but Apple really isn't preferred on the technical side of content creation for a reason.

Automatically adding secret invisible sources to every Scene is not my idea of simplicity. :-/ But as I said, I'm an old-school analog audio person - I feel most comfortable having a knob, fader, or switch for everything.
They still show up in the mixer, just not in the Sources list.
Adding them as individual sources to each scene allows doing things like automatically muting all microphones when switching to an AFK screen (just don't have the mic sources in that scene) but it cuts out global mute hotkey functionality. There's a workaround for that too though. (Make a 'mic holder' scene and add all your mics to that, set hotkeys to mute/unmute the mics in that scene, then add the scene to each of your other scenes where you want mic audio available).

Hmm, that sounds like what I was expecting the headphone jack on the computer to provide - a near-final mix (actually, I expected a final mix, not just near-final, but apparently that's asking too much). What is a "separate Control Room audio interface" - a piece of hardware? (Googling didn't help - the term is mostly associated with a module of Cubase software.) If so, how does it connect to the computer to get this near-final mix's signal?
I more meant a secondary sound card; most commonly people will buy a cheap USB sound card as an additional output/line in. And yes, annoyingly there's no way to see a final mix or post-encoder preview locally... even what you see on the Preview window isn't necessarily what's going out. The Preview will use full-resolution sources, so if you downscale on output (using a 1080p canvas but 720p output for example) or resize Sources, they can look different on your stream/recording.

But you said test recording, not test stream - can I assume recording would have the same mix as streaming?
Also, if OBS flakes out and doesn't send any audio to the stream (that happened one week, and I didn't learn about it until it was too late - a simple restart of OBS fixed it), would that affect recording too?
So long as the recording encoder is set to 'same as stream', the recording will be exactly the same as whatever is sent out to the stream ingest server. YouTube DOES re-encode content, so any changes their system makes will not be reflected, but you can test your output. It's how I do troubleshooting, to avoid annoying my community with test-streams.
Missing audio can be caused by a lot of things. Depending on the cause, it may be reflected in the recording... but may crop up later. Most commonly this happens due to misbehaving audio devices sending back bad timestamps, requiring adding buffering time. Once the buffer-time reaches a certain level, the audio device is simply dropped. Most common fix is to make sure 'use device timestamps' is UNchecked.
We'd need to see a logfile from a session where it happened to definitively see why the audio was missing though.
 

OsakaWebbie

New Member
Thanks so much for all the good clues! Too bad you don't do OBS tutorial videos (I did check your YT channel just in case) - I would watch them.
What kind of GPU is in the Windows laptop?
Intel HD Graphics 520, with an OEM driver from Toshiba whose newest version screws up displays in Premiere Pro so I have to run an older one (actually one from 2015, because my only choices are newest or original!). It's theoretically wimpy, but I can drive a 3440x1440 ultrawide in addition to the laptop display, and even do video editing on the ultrawide (although nothing fancy if I want to preview realtime).
Many capture cards use UVC standard these days, requiring no drivers and being supported on Windows and MacOS natively.
I read so many horror stories I was hesitant to try. The cheap Chinese ones seem to be compatible with everything, but that's what we already have (ezcap 261), and it doesn't really do 1080p as it claims (it appears to be doing 720p with aggressive sharpening and some color shift). We need HDMI passthrough, which limits the choices. And a lot of the reasonably priced US brands are as much as double the price imported to Japan, where I live. But I just now took another look and ordered a j5create JVA04 from a local store that takes returns easily (for about $200) - it will arrive tomorrow and I look forward to trying it on Sunday.
...then add the scene to each of your other scenes...
It was only a couple days ago when I learned that scene nesting was even possible - you've now given me some ideas for how to use it.
We'd need to see a logfile from a session where it happened to definitively see why the audio was missing though.
It happened on August 16th - this Sunday I'll check and see if the log file from that day is still there (I don't know how long OBS keeps old log files). If I have it, I'll share.
 

FerretBomb

Active Member
Too bad you don't do OBS tutorial videos
I've meant to start, but video editing is one of those things I need to improve on first. :)

Intel HD Graphics 520, with an OEM driver from Toshiba whose newest version screws up displays in Premiere Pro so I have to run an older one
Not too beefy, but if you're just going for 720p30 and aren't gaming on the machine, hopefully it can hold up.

what we already have (ezcap 261), and it doesn't really do 1080p as it claims (it appears to be doing 720p with aggressive sharpening and some color shift). We need HDMI passthrough
Yeah, with capture cards you really get what you pay for, in most cases. My go-to recommendation for USB is still the Elgato HD60S, even if it isn't UVC-compatible. There's a $20 1080p30 device making some waves, but it's a no-brand so getting the right one can be hard.
I don't bother with passthrough, I just use an HDMI splitter or matrix (a splitter on steroids) and send one output to the cap device and the other to the display. With HDMI being digital, that's all a "passthrough" is anyway... a built-in splitter. Analog can be passively tapped from the transmission lines, digital effectively can't.

It was only a couple days ago when I learned that scene nesting was even possible - you've now given me some ideas for how to use it.
You can do a LOT of neat stuff with it. I have a blank scene called "---------------" and keep all my 'holder' scenes and intermediary nested scene-chains below it on the list and out of the way.

It happened on August 16th - this Sunday I'll check and see if the log file from that day is still there (I don't know how long OBS keeps old log files). If I have it, I'll share.
Unfortunately OBS by default only saves 10 log files IIRC, and deletes the oldest each time it's opened. They're in %appdata%\obs-studio\logs by default, and each filename is a date+timestamp of when OBS was opened for that session.
You can change that by editing %appdata%\obs-studio\global.ini and changing the MaxLogs=10 value to whatever you want; I have it set to 150 just because they're small, and sometimes I forget to copy one out to add it to my recording archive along with the video file.
 

OsakaWebbie

New Member
The j5create worked fine today and looked way better than the ezcap.

What did not work fine was trying to do audio the way you suggested (the original topic of our conversation). On the Mac at church, Settings -> Devices -> Desktop Audio is set to "Disabled" and has no other option to select. I ran a recording test with audio sources set to "Monitor Only" - yup, no sound. So I had no choice but to set the audio sources to "Monitor and Output". Interestingly, I previously didn't have to do anything special with the audio from the ezcap - I don't know what it was set to, but I could hear it. But today with the new card, it defaulted to "Monitor Off", so I had to change it also to "Monitor and Output".

One other unexpected thing I noticed today was that the audio from the capture card continues to be heard in the monitor even when there is no corresponding Source in the currently playing Scene (confirmed by the fact that there is no meter/control for it in the Audio Mixer at that time). I don't know if it's new behavior or was always like that - normally when I'm not sending A/V from the room (just a title slide or something) no one is talking into a mic or playing music anyway (or I have sound board channels muted), so it's possible that I just didn't notice before doing additional testing today. Is that normal behavior? It doesn't go to the output unless it has a Source, but it continuously goes to monitor.
 

OsakaWebbie

New Member
Any thoughts on the question in my last paragraph? It's making me a bit insane. Currently we have no worship leader, so we are using song videos I prepared. I play those videos in OBS for the benefit of the online people while the same videos are played by someone else on a separate computer for the sake of the people present. I don't care that they are slightly out of sync, because only what I play in OBS goes to the stream. But I hear both in my headphones because the room's sound system is coming through the capture card - cacophony! I only want to hear the audio of the capture card when there is actually a source for it (i.e. when it's going into the stream).
 

SkylerNova

New Member
I'm confused. Shouldn't I be able to hear the audio that is coming from a video in the preview?

My media source is using a local MP4 video. When it runs in the preview... I do not hear any audio.

The MP4 file plays fine in a desktop player (you can hear audio from the video in that case).

How do I know what the broadcast will be like?
I had to go into my computer Settings > Apps > Apps & features > Manage optional features > Add a feature > Windows Media Player, and select Install. After I installed Windows Media Player and had monitor and output selected in obs advanced audio options it started playing sound for me and of corse my stream. I hope this helps.
 
Top