オーディオに問題があります。
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>
cvlc
NETとは異なり、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
。