Open-AVB AVTP Pipeline SDK  1.4
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
STC AVTP Pipeline Contribution Notes

General Status

Building Current OpenAVB

Tool chain and libraries

Building everything

Building just AVTP pipeline.

Binaries will be installed in lib/avtp_pipeline/build/bin.

Building AVTP pipeline without SRP.

Make sure to call make avtp_pipeline_clean before.

Building AVTP pipeline documentation

Running OpenAVB daemons

Running OpenAVB simple talker example

Running STC Echo Talker

Running STC Echo Listener

Benchmark results

All test done on DELL Optiplex 755 with Intel Core 2 Duo CPU E8400 @ 3.00GHz

Type Comment Class Streams CPU Talker CPU Listener
61883-6 48kHz stereo A 1 3.2%4.9%
2 22.8%9.3%
4 28.2%20.3%
8 39.7%35.0%
16 60.8%73.1%
aaf 48kHz stereo A 1 3.4%4.8%
2 22.7%8.9%
4 28.7%19.4%
8 40.5%35.7%
16 63.0%74.8%
h264 4675 Kbps vbrA 1 3.2%27.0%
2 6.4%59.8%
4 10.5%108.1%
6 15.6%149.9%
mpeg2ts 1405 Kbps vbrA 1 2.5%14.7%
2 5.0%40.9%
4 7.6%86.3%
6 10.7%123.5%
mjpeg live camera A 1 11.5%10.2%
mjpeg videotestsrc A 1 10.0%6.4%
2 21.4%13.0%
4 40.5%26.9%
6 57.7%42.0%
B 12 113.0%79.0%

More examples

Below are examples of AVTP pipeline usage with various stream types (mappings). These commands were used for generating benchmark results above. AVTP pipeline was compiled without SRP support (AVB_FEATURE_ENDPOINT=0 make avtp_pipeline).

IFNAME=eth0
STREAMS=7
CLASS=A
RATE=8000
TRANSIT_USEC=2000
REPORT=0 # statistics display interval in seconds (0 turns off statistics)

# AAF talker
sudo ./openavb_harness -I $IFNAME -s $STREAMS -d 0 -a a0:36:9f:2d:01:ad aaf_file_talker.ini,sr_class=$CLASS,map_nv_tx_rate=$RATE,max_transit_usec=$TRANSIT_USEC,map_nv_sparse_mode=0,intf_nv_file_name=test01.wav,report_seconds=$REPORT
# AAF listener
sudo ./openavb_harness -I $IFNAME -s $STREAMS -d 0 -a a0:36:9f:2d:01:ad aaf_listener_auto.ini,sr_class=$CLASS,map_nv_tx_rate=$RATE,max_transit_usec=$TRANSIT_USEC,map_nv_sparse_mode=0,intf_nv_audio_endian=big,report_seconds=$REPORT

# 61883-6 talker
sudo ./openavb_harness -I $IFNAME -s $STREAMS -d 0 -a a0:36:9f:2d:01:ad wav_file_talker.ini,sr_class=$CLASS,map_nv_tx_rate=$RATE,max_transit_usec=$TRANSIT_USEC,intf_nv_file_name=test01.wav,report_seconds=$REPORT
# 61883-6 listener
sudo ./openavb_harness -I $IFNAME -s $STREAMS -d 0 -a a0:36:9f:2d:01:ad alsa_listener.ini,sr_class=$CLASS,map_nv_tx_rate=$RATE,max_transit_usec=$TRANSIT_USEC,report_seconds=$REPORT

# H264 talker
sudo ./openavb_harness -I $IFNAME -s $STREAMS -d 0 -a a0:36:9f:2d:01:ad h264_gst_talker.ini,sr_class=$CLASS,map_nv_tx_rate=$RATE,max_transit_usec=$TRANSIT_USEC,report_seconds=$REPORT
# H264 listener
sudo ./openavb_harness -I $IFNAME -s $STREAMS -d 0 -a a0:36:9f:2d:01:ad h264_gst_listener.ini,sr_class=$CLASS,map_nv_tx_rate=$RATE,max_transit_usec=$TRANSIT_USEC,report_seconds=$REPORT

# MJPEG talker
sudo ./openavb_harness -I $IFNAME -s $STREAMS -d 0 -a a0:36:9f:2d:01:ad mjpeg_gst_talker.ini,sr_class=$CLASS,map_nv_tx_rate=$RATE,max_transit_usec=$TRANSIT_USEC,report_seconds=$REPORT
# MJPEG listener
sudo ./openavb_harness -I $IFNAME -s $STREAMS -d 0 -a a0:36:9f:2d:01:ad mjpeg_gst_listener.ini,sr_class=$CLASS,map_nv_tx_rate=$RATE,max_transit_usec=$TRANSIT_USEC,report_seconds=$REPORT

# MPEG2TS talker
sudo ./openavb_harness -I $IFNAME -s $STREAMS -d 0 -a a0:36:9f:2d:01:ad mpeg2ts_file_talker.ini,sr_class=$CLASS,map_nv_tx_rate=$RATE,max_transit_usec=$TRANSIT_USEC,report_seconds=$REPORT
# MPEG2TS listener
sudo ./openavb_harness -I $IFNAME -s $STREAMS -d 0 -a a0:36:9f:2d:01:ad mpeg2ts_gst_listener.ini,sr_class=$CLASS,map_nv_tx_rate=$RATE,max_transit_usec=$TRANSIT_USEC,report_seconds=$REPORT