[FFmpeg-user] Read from pulseaudio - latency - how to fix!

Thomas Seilund tps.ffmpeg at netmaster.dk
Thu Sep 1 18:06:33 EEST 2022


Dear All

I do live streaming and I need to pick up the audio from a microphone.

I test latency like this:

ffplay -f pulse -i 
"alsa_input.usb-Remo_Tech_Co.__Ltd._OBSBOT_Tiny-02.analog-mono"

ffplay -f alsa -i default

After running one of the commands I can hear my own voice in my 
headphones. I am happy.

But the first command gives a delay of 3 sec. The other command gives 
close to no delay.

How can I fix the first command to get close to no delay?

Both command records from the same microphone and output to the same 
headphones.

What I see is that the black screen from ffplay takes about 3 sec to 
display with the first command but shows up close to instantly with the 
second command.

Here is output from the two commands:

ffplay -f pulse -acodec pcm_s16le -i 
"alsa_input.usb-Remo_Tech_Co.__Ltd._OBSBOT_Tiny-02.analog-mono"

ffplay version N-104384-g374f2ac370 Copyright (c) 2003-2021 the FFmpeg 
developers

built with gcc 8 (Debian 8.3.0-6)

configuration: --enable-libfreetype --enable-libx264 --enable-gpl 
--enable-libvorbis --enable-libvpx --enable-libmp3lame --enable-libzmq 
--enable-libpulse

libavutil 57. 7.100 / 57. 7.100

libavcodec 59. 12.100 / 59. 12.100

libavformat 59. 6.100 / 59. 6.100

libavdevice 59. 0.101 / 59. 0.101

libavfilter 8. 14.100 / 8. 14.100

libswscale 6. 1.100 / 6. 1.100

libswresample 4. 0.100 / 4. 0.100

libpostproc 56. 0.100 / 56. 0.100

Input #0, pulse, from 
'alsa_input.usb-Remo_Tech_Co.__Ltd._OBSBOT_Tiny-02.analog-mono':

Duration: N/A, start: 1662044141.069410, bitrate: 1536 kb/s

Stream #0:0: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s

1662044142.91 M-A: -0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0


ffplay -f alsa -i default

ffplay version N-104384-g374f2ac370 Copyright (c) 2003-2021 the FFmpeg 
developers

built with gcc 8 (Debian 8.3.0-6)

configuration: --enable-libfreetype --enable-libx264 --enable-gpl 
--enable-libvorbis --enable-libvpx --enable-libmp3lame --enable-libzmq 
--enable-libpulse

libavutil 57. 7.100 / 57. 7.100

libavcodec 59. 12.100 / 59. 12.100

libavformat 59. 6.100 / 59. 6.100

libavdevice 59. 0.101 / 59. 0.101

libavfilter 8. 14.100 / 8. 14.100

libswscale 6. 1.100 / 6. 1.100

libswresample 4. 0.100 / 4. 0.100

libpostproc 56. 0.100 / 56. 0.100

Input #0, alsa, from 'default': 0KB vq= 0KB sq= 0B f=0/0

Duration: N/A, start: 1662044161.792616, bitrate: 1536 kb/s

Stream #0:0: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s

1662044163.53 M-A: 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0

Regards

Thomas S


More information about the ffmpeg-user mailing list