at_kazutaka.bito
2017年12月1日 16時04分
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は、送信元のポート番号に合わせます。