我需要录制视频流并将其与来自外部设备(USB 声卡)的音频混合。我设法使用以下命令分别录制视频和音频。
视频
ffmpeg -i rtsp://192.168.0.192 -acodec copy -vcodec copy ~/out.mp4
声音的
ffmpeg -f alsa -i hw:1 -t 30 out.wav
现在我需要同时录制两者并创建一个 mp4 文件。
我尝试了这个命令,但是它给出了一个错误。
ffmpeg -f alsa -i hw:1 -i rtsp://192.168.0.192 -acodec copy -vcodec copy ~/out.mp4
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
编辑:使用 mkv 容器代替 mp4 是可行的。我应该如何编码视频才能将其存储为 mp4?
答案1
MP4 不支持 PCM 音频(WAV 文件中常见的格式系列)。
控制台输出在您显示的行上方立即指示了这一点,但您省略了它:
[mp4 @ 0x559e59ef2360] Could not find tag for codec pcm_s16le in stream #0, codec not currently supported in container
您的选择是:
- 输出到不同的输出容器格式,例如您已经发现的 .mov 或 Matroska (.mkv),或者
- 将音频编码为 MP4 支持的格式,例如 AAC,方法是将其替换
-acodec copy
为-c:a aac
。