このエントリーをはてなブックマークに追加

Armadillo-840:ネットワーク経由の音声のリアルタイムストリーミング

 
Armadillo-840を2台使用して、Armadillo-840同士で、ネットワーク経由の音声のリアルタイムストリーミングを確認してみました。

音声入力側
・マイクから音声入力。
・音声をAACでエンコード。
・MPEG2-TSにマルチプレクス。
・LAN経由でUDPで送信。

音声出力側
・LAN経由でUDPで受信。
・MPEG2-TSをデマルチプレクス。
・音声のAACをデコード。
・スピーカから音声出力。

音声入力側と音声出力側のArmadillo-840同士をLANで接続します。
以下、音声入力側、音声出力側、それぞれのArmadillo-840での手順です。

音声入力側

1.オーディオエンコーダのファームをロードします。 ======================================================================== echo encoder > /sys/devices/platform/acm.0/codec ======================================================================== 2.音声を入力したいオーディオデバイスの番号(card *)を確認します。 ======================================================================== arecord -l ======================================================================== (一例として、開発セットの拡張ボードのマイク入力を使用する場合、  card 1: FSI2AWM8978 [FSI2A-WM8978], device 0: wm8978 wm8978-hifi-0 []  より、オーディオデバイスの番号は、“1”を意味します。) 3.オーディオストリーミング(送信)の開始します。 ======================================================================== gst-launch-1.0 -q -e alsasrc device="hw:1" \ ! audio/x-raw,format=S16LE,layout=interleaved,rate=48000,channels=2 \ ! acmaacenc \ ! aacparse \ ! audio/mpeg, mpegversion=4, stream-format=raw\ ! mpegtsmux \ ! rtpmp2tpay \ ! udpsink force-ipv4=true port=9003 host=192.168.11.37 ======================================================================== 補足)hw:1の"1"は、上記2のオーディオデバイスの番号に合わせます。 host=192.168.11.37は、送信先のIPアドレスに合わせます。

音声出力側

1.オーディオデコーダのファームをロードします。 ======================================================================== echo decoder > /sys/devices/platform/acm.0/codec ======================================================================== 2.音声を出力したいオーディオデバイスの番号(card *)を確認します。 ======================================================================== aplay -l ======================================================================== (一例として、開発セットの拡張ボードのヘッドホン出力を使用する場合、  card 1: FSI2AWM8978 [FSI2A-WM8978], device 0: wm8978 wm8978-hifi-0 []  より、オーディオデバイスの番号は、“1”を意味します。) 3.オーディオストリーミング(受信)の開始 ======================================================================== gst-launch-1.0 -v udpsrc port=9003 caps=application/x-rtp,media=video,clock-rate=90000,encoding-name=MP2T \ ! rtpmp2tdepay \ ! tsdemux \ ! aacparse \ ! queue max-size-buffers=20000 \ ! acmaacdec \ ! alsasink device=hw:1 ======================================================================== 補足)hw:1の"1"は、上記2のオーディオデバイスの番号に合わせます。 port=9003は、送信元のポート番号に合わせます。

製品: 

  • Armadillo-840

タグ: 

  • Armadillo-800
  • プログラミング