我有一台带连接摄像机的Ubuntu 14.04机器 . 摄像机通过magewell HDMI-USB3转换器连接到PC . 在同一台PC上,麦克风通过模拟麦克风插槽连接 .

当我拨打arecord-l时,我会收到以下音频设备:

arecord -l

**** Liste der Hardware-Geräte (CAPTURE) **** Karte 1: PCH [HDA Intel PCH], Gerät 0: ALC283 Analog [ALC283 Analog]   Sub-Geräte: 1/1  
> Sub-Gerät #0: subdevice #0 Karte 2: XI100DUSBHDMI [XI100DUSB-HDMI],
> Gerät 0: USB Audio [USB Audio]   Sub-Geräte: 1/1   Sub-Gerät #0:
> subdevice #0

我尝试使用以下命令创建一个flv视频流并使用rtmp插件将其发送到nginx Web服务器:

ffmpeg -f video4linux2 -framerate 30 -video_size 1280x720 -i /dev/video0 -vcodec libx264 -preset ultrafast -pix_fmt yuv420p -video_size 1280x720 -threads 0 -f flv rtmp://192.168.0.36/live/test

我现在能够播放视频 .

现在我还想通过发送以下命令将音频声音混合到视频中:

ffmpeg -f alsa -i hw:1 -f video4linux2 -framerate 30 -video_size 1280x720 -i /dev/video0 -vcodec libx264 -preset ultrafast -pix_fmt yuv420p -video_size 1280x720 -threads 0 -ar 11025 -f flv rtmp://192.168.0.36/live/test

但不幸的是,我只从alsa设备获得音频声音,但我看不到视频流

现在我尝试将流写入文件而不是将其发送到斜坡服务器:

ffmpeg -f alsa -i hw:1 -f video4linux2 -i /dev/video0 out.mpg

如果我现在用媒体播放器启动文件,我会收到音频和视频 .

如何更改我的FFMPEG参数以同时传输:音频和视频设备输入到新的flv流?

正如我上面提到的,命令行调用

ffmpeg -f alsa -i hw:1 -f video4linux2 -framerate 30 -video_size 1280x720 -i /dev/video0 -vcodec libx264 -preset ultrafast -pix_fmt yuv420p -video_size 1280x720 -threads 0 -ar 11025 -f flv rtmp://192.168.0.36/live/test

只是编码和流式传输音频,而不是视频 .