ローランドのUSBデバイスからffmpegでpcmストリームをキャプチャしてwavでラップしようとしています。私が使用しているコマンドラインは次のとおりです。サンプルフォーマットを設定できません[FFMPEG]
ffmpeg -f alsa -acodec pcm_s32le -ac 2 -ar 48000 -i hw:2,0 out.wav
ハードウェアの設定に準拠しています。 Audacityでストリームをキャプチャすることもできます。問題は、FFMPEGが"サンプルフォーマットエラーを設定できません"をスローすることです。何が起きているのか、どうすればこの問題を解決できるのでしょうか?
ありがとうございます。
FFMPEGのOUTPUT
[email protected]:~$ ffmpeg -f alsa -acodec pcm_s32le -ac 2 -ar 48000 -i hw:2,0 out.wav
ffmpeg version N-85548-g3390a2b Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 20160609
configuration: --enable-gpl --enable-libx264 --enable-libx265 --enable-libvpx --enable-libvorbis --enable-libopus --enable-ffplay
libavutil 55. 61.100/55. 61.100
libavcodec 57. 92.100/57. 92.100
libavformat 57. 72.101/57. 72.101
libavdevice 57. 7.100/57. 7.100
libavfilter 6. 84.101/6. 84.101
libswscale 4. 7.101/4. 7.101
libswresample 2. 8.100/2. 8.100
libpostproc 54. 6.100/54. 6.100
[alsa @ 0x34b6780] cannot set sample format 0x10008 10 (Invalid argument)
hw:2,0: Input/output error
ARECORD OUTPUT:
[email protected]:~$ arecord -l
**** List of CAPTURE Hardware Devices ****
card 1: PCH [HDA Intel PCH], device 0: ALC3236 Analog [ALC3236 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: DUOCAPTURE [DUO-CAPTURE], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
はDeimus助けた後、私はarecordに私のカードの設定をチェックし、FFMPEGの正しいラインを使用(私が変更されていることに注意してくださいハードウェアの周波数を取得します)。
ARECORD OUTPUT
[email protected]:~$ arecord --dump-hw-params -D hw:2,0
Recording WAVE 'stdin' : Unsigned 8 bit, Rate 8000 Hz, Mono
HW Params of device "hw:2,0":
--------------------
ACCESS: MMAP_INTERLEAVED RW_INTERLEAVED
FORMAT: S24_3LE
SUBFORMAT: STD
SAMPLE_BITS: 24
FRAME_BITS: 48
CHANNELS: 2
RATE: 44100
PERIOD_TIME: (1020 1981429)
PERIOD_SIZE: [45 87381]
PERIOD_BYTES: [270 524286]
PERIODS: [2 1024]
BUFFER_TIME: (2040 3962858)
BUFFER_SIZE: [90 174762]
BUFFER_BYTES: [540 1048572]
TICK_TIME: ALL
--------------------
arecord: set_params:1233: Sample format non available
Available formats:
- S24_3LE
正しいコマンドライン
ffmpeg -f alsa -acodec pcm_s24le -ac 2 -ar 44100 -i hw:2,0 out.wav
完全なエラーメッセージを入れて、より読みやすい – deimus
であるためにあなたの質問をフォーマットしてくださいされているデバイスは、32ビットのサンプルをサポートしていることをあなたは確かにいますか? –
私は確かではありませんが、24ビットサンプリングで試してみましたが、同じエラーが発生します。 32は、大胆さが私を捉えたときにそれを示すものです。 – caiomcg