我想流式传输使用带有ffmpeg的ALSA麦克风捕获的音频。我可以将视频捕获到文件中,我想要的是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
有什么提示我想念的吗?