我一直在网上搜索如何录制带有视频和音频的流媒体播放。我找到了这个方法:
ffmpeg -video_size 1920x1080 -framerate 25 -f x11grab -i :0.0 -f pulse -ac 2 -i default recording.mkv
可能是其中一个-i
参数错误:显示的命令只给我视频通道的记录,没有声音。
之前,我在寻找纯音频录制的配方时,被告知要查看
pactl list short sources
即
0 alsa_output.pci-0000_00_1b.0.analog-stereo.monitor module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
1 alsa_output.usb-Sennheiser_Communications_Sennheiser_USB_headset-00.analog-stereo.monitor module-alsa-card.c s16le 2ch 48000Hz SUSPENDED
2 alsa_input.usb-Sennheiser_Communications_Sennheiser_USB_headset-00.multichannel-input module-alsa-card.c s16le 1ch 48000Hz SUSPENDED
并将结果替换为 ALSA 输出设备。因此我将其替换 alsa_output.usb-Sennheiser_Communications_Sennheiser_USB_headset-00.analog-stereo.monitor
为命令
ffmpeg -f pulse -i alsa_output.usb-Sennheiser_Communications_Sennheiser_USB_headset-00.analog-stereo.monitor -ac 2 recording.mp3
并且我可以用它录制纯音频播放。
我对我的第一个试验命令进行了类似的修改:
ffmpeg -video_size 1920x1080 -framerate 25 -f x11grab -i :0.0 \
-f pulse -ac 2 \
-i alsa_output.usb-Sennheiser_Communications_Sennheiser_USB_headset-00.analog-stereo.monitor \
recording.mkv
但这又一次让我只能听到无声录音。我的命令肯定不对,虽然我在录音过程中听到了耳机里的声音,但在播放时却听不到。
进行音频+视频录制的正确命令是什么?
答案1
您的问题是,您直接放置-i
音频源的标志,将其放在输入格式之后-f pulse
这将是你的命令ffmpeg -video_size 1920x1080 -framerate 25 -f x11grab -i :0.0 -f pulse -ac 2 -i default -c:v libx264 -c:a aac -strict experimental recording.mkv
如果您想使用特定的音频,请替换default
您想要的源。
此外,此命令还将以指定的尺寸和帧速率从屏幕录制视频,从指定的音频源录制音频,并使用 H.264 视频编解码器和 AAC 音频编解码器将输出保存在 MKV 文件中:
ffmpeg -video_size 1920x1080 -framerate 25 -f x11grab -i :0.0 -f pulse -ac 2 -i alsa_output.usb-Sennheiser_Communications_Sennheiser_USB_headset-00.analog-stereo.monitor -c:v libx264 -c:a aac -strict experimental recording.mkv
答案2
ffmpeg -s 1920x1080 -framerate 25 -f x11grab -i :0.0 -f pulse -i 0 file.mp4
如果你想录制麦克风的音频,-f pulse -i 1
请0
使用上面的命令