Я бы хотел транслировать аудио, захваченное с помощью микрофона ALSA с помощью ffmpegЯ могу записать видео в файл, и мне нужно, чтобы ffmpeg запустил RTSP-сервер, к которому могут обращаться (несколько) клиентов в моей локальной сети.Но я пока не могу заставить его работать с одним клиентом.
То, что я пробовал до сих пор:
ffmpeg -f alsa -ac 1 -ar 44100 -i hw:1,0 -t 10 test.wav
Это работает отлично.Файл сохранен и может быть воспроизведен.Таким образом, с вводом все в порядке.
ffmpeg -f alsa -ac 1 -ar 44100 -i hw:1,0 -f rtsp rtsp_transport tcp rtsp://localhost:8090/live.sdp
Попытка этого сухого режима приведет к ошибке, которую он не может подключить к серверу.Что странно, я хочу сказать ffmpeg запустить сервер.Поэтому я запускаю один, используя
ffserver ffserver.conf
с файлом конфигурации, содержащим
Port 8090
BindAddress 0.0.0.0
MaxHTTPConnections 2000
MaxClients 1000
MaxBandwidth 1000
CustomLog -
NoDaemon
<Feed live.sdp>
Это запускает сервер, или так может показаться.Теперь, снова попробовав команду ffmpeg сверху, я получаю
[tcp @ 0x11d2490] Connection to tcp://localhost:8090?timeout=0 failed (Connection refused), trying next address
Could not write header for output file #0 (incorrect codec parameters ?): Invalid data found when processing inputStream mapping:
Stream #0:0 -> #0:0 (pcm_s16le (native) -> aac (native))
Last message repeated 1 times
Так что я подумал, может быть, мне следует указать выходной кодек, так:
ffmpeg -f alsa -ac 1 -ar 44100 -i hw:1,0 -codec:a libmp3lame -q:a 2 -f rtsp rtsp_transport tcp rtsp://localhost:8090/live.sdp
, который дает почти то же самоеошибка, просто с другим кодеком:
[tcp @ 0x24d8630] Connection to tcp://localhost:8090?timeout=0 failed (Connection refused), trying next address
Could not write header for output file #0 (incorrect codec parameters ?): Invalid data found when processing inputStream mapping:
Stream #0:0 -> #0:0 (pcm_s16le (native) -> mp3 (libmp3lame))
Last message repeated 1 times
Любые намеки на то, что мне не хватает?