web-dev-qa-db-ja.com

FFmpegを使用してサウンドカードで再生されているものを録音するにはどうすればよいですか?

Windows8.1のサウンドカードで再生されているものを録音しようとしています

以下を実行して、使用しているデバイスを確認しました。

_ffmpeg -list_devices true -f dshow -i dummy
_

リストされた出力:

_DirectShow video devices (some may be both video and audio devices)
  "Built-in iSight"
DirectShow audio devices
  "Microphone (Cirrus Logic CS4206A (AB 71))"
  "Digital Audio (S/PDIF) (Cirrus Logic CS4206A (AB 71))"
_

このことから、Digital Audio (S/PDIF) (Cirrus Logic CS4206A (AB 71))が私の唯一の出力サウンドカードであると想定しています。

そこで、音声付きのランダムなYouTubeビデオをいくつか作成し、次のコマンドを実行してmp3を10秒間録音しました。

_ffmpeg -f dshow -i audio="Digital Audio (S/PDIF) (Cirrus Logic CS4206A (AB 71))" -acodec libmp3lame  -t 10 out.mp3
_

10秒のクリップを記録しますが、サイレントです。
再生デバイスを見ると、オーディオが実際に再生されているデバイスはDigital Audio (S/PDIF)ではなくSpeakersであることがわかります。 enter image description here

FfmpegコマンドラインでDigital Audio (S/PDIF)Speakersに置き換えようとしましたが、明らかにデバイスを認識できませんでした。

私は同様の 質問 で、人々が「ステレオミックス」を提案しているのを見ました-私はそれを私のコンピューターにはまったく見ていません。最新のドライバーをダウンロードしても、デバイスのリストには追加されませんでした。

だから私は何が欠けていますか?サウンドカードから音声を録音するにはどうすればよいですか

2
AngryHacker

それがまだ誰かに関連している場合。上記の[サウンドデバイス]ウィンドウを開き、クリーンスポットでRMB]をクリックし、[無効なデバイスを表示]を選択して、ステレオミックスデバイスの表示を切り替える必要があります。

3
Roman Leschenko

まず、上のスクリーンショットに示されている[サウンド]ウィンドウを開き、[録音]タブを選択してから、ウィンドウを右クリックし、[無効なデバイスを表示]を選択して、ステレオミックスデバイスの表示を切り替えます。 この投稿 詳細な手順があります。

ステレオミックスを有効にした後、スピーカーまたはヘッドフォンをオーディオ出力に接続する必要があります。次に、コマンドを実行して、ヘッドセット/スピーカー出力の名前を取得します。

ffmpeg -list_devices true -f dshow -i dummy

オーディオを取得するためにWindows10Homeで機能している完全なコマンドは次のとおりです。

ffmpeg -f dshow -i audio="Microphone (Realtek High Definition Audio)" D:\Audio\output.mp3

オーディオとビデオを同時に実行するコマンドは次のとおりです。

ffmpeg -f gdigrab -framerate ntsc -video_size 1920x1080 -i desktop  -f dshow -i audio="Microphone (Realtek High Definition Audio)" -vcodec libx264 -pix_fmt yuv420p -preset ultrafast D:\Movies\output.mp4

このビデオ出力は私のiPadでも機能しています。ラップトップをモニターに接続しています。これにより、モニターの全画面とスピーカーからの音声が録音されます。

1
ADH