マイクを録音してイーサネットで聞く

マイクを録音してイーサネットで聞く

オーディオに問題があります。

Xubuntu(Aliceと呼びます)の下に、ラインインジャックに接続されている外部マイクを聞き続けるために使用できる古いコンピュータがあります。私のPCからsshを介して(物理的に)コンピュータにアクセスできます(Ubuntuでは彼をBobと呼びます)...最近変更されたログインキーボードのレイアウトを更新する理由はわかりません。現在はそうしないでください。 。 arecord、pulseaudioを使用してリモートでマイクを録音しようとしましたが、成功しませんでしたが、ALSAとPAが初めてです。 PAの場合、マイクはpacmd list-sourcesにリストされていません! ? 。

Aliceを継続的に記録し、最終的にBobの記録を読み取る(簡単ですか?)方法はありますか?

ベストアンサー1

「Alice」でVLCを使用してRTPを介してオーディオをローカルアドレスにストリーミングし、「Bob」がそのアドレス+ポートを聞いてオーディオ録音をキャプチャすることをお勧めします。難しい部分は、オーディオ入力デバイスのMRL(Media Resource Locator)を識別することです。

ストリーミングコマンドは次のとおりです。

cvlc alsa://<input_device> --sout-keep --no-sout-video --sout="#transcode{acodec=mpga,ab=<bit_rate>,aenc=ffmpeg,channels=<n_channels>,samplerate=<sample_freq>,threads=2}:rtp{mux=ts,dst=<stream_address>,port=<stream_port>,sdp=sap,proto=udp}" &

どこ:

  • input_deviceはジャックマイクのALSAハードウェアアドレスです。cat /proc/asound/cardsマイクがサウンドカード1に接続されている場合は、input_device次のように表示されます。hw:1,0
  • bit_rateオプションですが、通常は64 *でなければなりませんn_channels(つまり、モノの場合は64、ステレオの場合は128、上級の場合は264)。
  • n_channelsマイクがサポートするオーディオチャンネルの数(1はモノラル、2はステレオ)です。
  • sample_freqまた、マイクによっては44100または48000に等しくなければなりませんが、より小さい場合もあります(Hz単位)。
  • stream_address選択したマルチキャストIPアドレスでなければなりません(例:239.255.12.42)。
  • stream_portまた、必要なポート(例:1234)

次に、「ボブ」からライブオーディオストリームを受信し、それをデフォルトのオーディオ出力デバイスとして再生するには、次のコマンドを実行します。

vlc -vv rtp://@<stream_address>:<stream_port>

cvlcNETとは異なり、GUIなしでVLCのみを実行していることに注意してくださいvlc -I dummy

その後、出力サウンドファイル名(out_file_name)を生成するループを含むいくつかの基本スクリプトを作成し、次のVLCコマンドを実行してしばらくその出力ファイルにオーディオを聞いて録音してから、VLCプロセスを終了できます(この場合WAV形式のオーディオ):

cvlc --no-sout-video --sout-audio --ttl=1 --sout-keep --sout "#transcode{acodec=mpga,ab=<bit_rate>,aenc=ffmpeg,channels=<n_channels>,samplerate=<sample_freq>,threads=2}:std{access=file,mux=wav,dst=<out_file_name>}" rtp://@<stream_address>:<stream_port> vlc://quit &

ループで上記のコマンドを開始したら、毎回録音するのを待ってからバックグラウンドリスニングkill -9 $!プロセスを使用または終了しますpkill vlc

おすすめ記事