[FFmpeg-user] FFMpeg stream audio problem

Moritz Barsnick barsnick at gmx.net
Sun Dec 8 21:41:54 EET 2019

On Sat, Dec 07, 2019 at 07:43:19 +0100, Csaba wrote:
> #!/bin/sh
> ffmpeg -f alsa -i plughw:1 -acodec libmp3lame -ar 11025 -f rtp rtp://

This is incorrect.

> #!/bin/sh
> ffmpeg -f alsa -i plughw:1,0 -acodec libmp3lame -ab 96k -ac 1 -re -f http

As is this.

It is so incorrect that ffmpeg should trip over the two usage errors
and report them to you in a very obvious fashion.

Do you happen to be suppressing your output?

My ffmpeg says:
$ ffmpeg -f alsa -i plughw:1,0 -acodec libmp3lame -ab 96k -ac 1 -re -f http
Option re (read input at native frame rate) cannot be applied to output url -- you are trying to apply an input option to an output file or vice versa. Move this option before the file it belongs to.
Error parsing options for output file
Error opening output files: Invalid argument

"-re" is an input option, and shall *not* be used for hardware devices and live feeds - only on files to
*simulate* real-time feeds.

If you remove the "-re" option, ffmpeg will complain about "-f http",
as that is not a format, it's a protocol. You need to supplement the
protocol (which ffmpeg can already recognize from the output URI) with
an actual format.

> The scripts do not produce any error but stops after start immediately.
> Do you have any ideas? What is the problem?

I assume something is swallowing your error messages. Or perhaps ffmpeg
indeed gets stuck on the input devices. Have you tried replacing them
with input files (where you may and should add "-re" as an input

Have you tried just reading the input, and not feeding it to the net?:
$ ffmpeg -f alsa -i plughw:1,0 -f null -

If that still gets stuck without any usefull messages, please add
"-loglevel verbose" or even "-loglevel debug".


More information about the ffmpeg-user mailing list