ffmpegはオーディオとともにビデオテープを記録します。

ffmpegはオーディオとともにビデオテープを記録します。

次のコマンドを使用して、ビデオテープをデジタル形式で記録しようとします。

ffmpeg -f v4l2 -video_size 720x480 -i /dev/video2 -channel_layout stereo -f alsa -i hw:1,0 -c:v libx264 -pix_fmt yuv420p -b:v 2M -crf 23 -c:a aac -b:a 128K -to 00:00:30 -preset fast -report tape1.mkv

次のエラーが発生します。

[alsa @ 0x55ede20aa9e0] cannot open audio device hw:1,0 (Device or resource busy) hw:1,0: Input/output error

私のビデオレコーダーにUSBレコーダーが接続されています。

arecord -l次を生成します。 **** List of CAPTURE Hardware Devices **** card 0: NVidia [HDA NVidia], device 0: CS4206 Analog [CS4206 Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: USB20 [AV TO USB2.0], device 0: USB Audio [USB Audio] Subdevices: 1/1 Subdevice #0: subdevice #0

私はalsaを使用しません。私はそれを動作させるために他に何を使うべきかわかりません。

fuser -fv /dev/snd/* /dev/dsp* 次を生成します。 Specified filename /dev/dsp* does not exist. USER PID ACCESS COMMAND /dev/snd/controlC0: matt 30999 F.... pulseaudio /dev/snd/controlC1: matt 30999 F.... pulseaudio

VLCに渡すと、VLCはオーディオストリーミング入力を使用できますが、 v4l2:// :input-slave=alsa:// :v4l2-standard=0 ffmpegに渡す方法がわかりません。

VLCを使用してこのテープを録画できます。しかし、私はこのタスクにffmpegを使用することを好みます。

答え1

オーディオデバイスをhw1

Pulseを一時停止することもできます。

pasuspender -- ffmpeg -f v4l2 -video_size 720x480 -i /dev/video0 -channel_layout stereo -f alsa -i hw:1 -c:v libx264 -pix_fmt yuv420p -b:v 2M -crf 23 -c:a aac -b:a 128K -to 00:00:30 -preset fast -report tape1.mkv

関連情報