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