Tronsmart Pavo M9

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

This seems to be out of production, but some vendors might still sell them. See Android HDMI Grabber / Scaler for similar devices.

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

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

The left HDMI port is an input and the right one an output.

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

== OverviewThis 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

As a frame rate converter

In 2016/2017 we changed the default event cases setup, we using the Pavo M5 to convert the projector signal to 1080p24, which we can feed into a BMD DeckLink capture cards Mini Recoder HDMI PCI capture card. In contrast to a H264 stream over ethernet, the latency is much lower.To have this reboot save, one have to install an autostart app to run the “Recorder” app after boot. The autostart app is available in the aptoide store – which comes with the default firmware.

AutoStart+-+No+root

As a ethernet 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 at /mnt/sdcard.Such a 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 is set to a video bitrate of 20 Mbit/s and 26 fps. With 25 fps, there is flicker in voctomix. Audio is set so 320 kbit/s, but isn't used.

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

This script has the advantage of making audio from the HDMI stream available to voctomix, so that audio and video are in sync. This is particularly useful when the lecturer plays a video with a lot of spoken text. This audio source can then be selected in voctomix.

Alternative version using 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