我有一台带连接摄像机的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
只是编码和流式传输音频,而不是视频。