Tronsmart Pavo M9

Also known as “Android Box” or “the tronsmart”.

Vendor website http://www.tronsmart.com/products/tronsmart-pavo-m9

SoC – Mstar MSO9180D1R quad core Cortex A9 processor up to 1.5GHz with a Mali-450MP2 GPU

System Memory – 1GB DDR3

Storage – 8GB eMMC flash + micro SD slot

Video Output / Input – HDMI output up to 4K, HDMI input with PVR and Time Shifting support (up to 1080p), and AV port (Composite + stereo audio)

Audio I/O – HDMI Out and In, AV, and optical S/PDIF

(Main) Video Codecs – H265, VC-1, WMV-HD, MPEG1/2/4 up to 4Kx2K, etc..

Audio Codec – MP3, AAC, AC3, DTS-HD Master, TrueHD 7.1 pass-through, etc…

Connectivity – 10/100M Ethernet, 802.11 b/g/n Wi-Fi (Realtek 8188)

USB – 1x USB 3.0, 2x USB 2.0 host ports.

Misc – ON/OFF switch, IR receiver

Power Supply – 12V/2A

Dimensions – 15.24 x 15.24 x 4.06 cm

Weight – ~260 grams

Android 4.1*, root available without modification

Overview

This product seems to be out of production but is sometimes still available from chinese online stores.Its most important feature is the HDMI input which can be used to capture / stream / scale an HDMI signal

Operation as a Scaller

We use the box to scale to 1080p24 which we can feed in the decklink mini recoder HDMI caputer cards. This has the advantage over getting the signal as an H264 stream from the box as the latency is much lower.To have this reboot save we use the autostart app to run the HDMI app after boot. This app is available in the aptoide store which comes with the box.

AutoStart+-+No+root

Operation as a stream source

ZidoStreamer

The ZidoStreamer app allows to stream the HDMI input via Ethernet / wifi to a stream sink

https://blog.danman.eu/using-tronsmart-pavo-m9-for-hdmi-input-streaming/

https://github.com/danielkucera/ZidoStreamer

To be able to use ZidoStreamer an ffmpeg binary compiled for the ARM CPU needs to be placed /mnt/sdcard Such an binary can be found e.g. here

scripts

Here are some example command lines for ffmpeg that we use

/mnt/sdcard/ffmpeg -i - -c copy -absf aac_adtstoasc -f flv rtmp://100.122.3.243:1935/source/tronsmart

ZidoStreamer ist auf eine Videobitrate von 20Mbit/s und 26 fps eingestellt. Bei 25 fps flackert's in voctomix. Audio staht auf 320kbit/s, wird aber nicht ausgenutzt.

RTMP stream to voctomix:

#!/bin/sh
confdir="`dirname "$0"`/../"
. $confdir/default-config.sh
if [ -f $confdir/config.sh ]; then
. $confdir/config.sh
fi
ffmpeg -y -nostdin -xerror \
-f flv -i "rtmp://127.0.0.1/source/tronsmart" \
-filter_complex "
[0:v] scale=$WIDTH:$HEIGHT,fps=$FRAMERATE [v];
[0:a] aresample=$AUDIORATE [a]
" \
-map "[v]" \
-c:v rawvideo \
-pix_fmt yuv420p \
-map "[a]" -ac 2 \
-c:a pcm_s16le \
-f matroska \
tcp://localhost:10002

Dieses Skript hat den Vorteil, dass Audio, was über die HDMI Verbindung geschickt wird im voctomix zur Verfügung steht und synchron mit dem Video ist. Bietet sich vor allem dann ann, wenn der Vortragende ein Video abspielt und viel im Video gesprochen wird, da man Voctomix dann auf diese Audioquelle umstellen kann.

Oder alternativ mit gstreamer:

#!/bin/sh
confdir="`dirname "$0"`/../"
. $confdir/default-config.sh
if [ -f $confdir/config.sh ]; then
. $confdir/config.sh
fi
gst-launch-1.0 -vvv\
rtmpsrc location=rtmp://127.0.0.1/source/tronsmart ! queue ! flvdemux name=demux ! queue !\
h264parse ! avdec_h264 !\
videoscale ! \
videoconvert ! \
videorate ! \
video/x-raw,format=I420,width=$WIDTH,height=$HEIGHT,framerate=$FRAMERATE/1,pixel-aspect-ratio=1/1 ! \
mux. \
\
audiotestsrc freq=550 !\
audio/x-raw,format=S16LE,channels=2,layout=interleaved,rate=$AUDIORATE !\
mux. \
\
matroskamux name=mux !\
tcpclientsink host=localhost port=10002