Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revisionBoth sides next revision
tronsmart [2016/09/22 23:42] andihardware:tronsmart_pavo_m9 [2017/09/30 19:04] – [ZidoStreamer] andi
Line 1: Line 1:
-====== Tronsmart Pavo M9 ====== += Tronsmart Pavo M9 
-Auch einfacher bekannt als "Android Box"+Also known as "Android Box" or "the tronsmart".
-[[http://www.tronsmart.com/products/tronsmart-pavo-m9]]+
  
-=== Overview === +This seems to be out of productionbut some vendors might still sell them. See [[hardware:android-hdmi-in]] for similar devices. 
-Diese kleine Boxerhältlich bei diversen Händlern aus Fernost ist eigentlich als Settopbox für den Nicht-Smart-TV gedachtZeichnet sich aber durch einen HDMI Eingang ausDadurch kann sie als günstige Alternative zu anderen Framegrabbern genutzt werden.+* Vendor website [[http://www.tronsmart.com/products/tronsmart-pavo-m9]] 
 +* Teardown [[https://blog.danman.eu/using-tronsmart-pavo-m9-for-hdmi-input-streaming/]]
  
-=== Beschaffung === +The left HDMI port is an input and the right one an output.
-* ~40$ +
-TODO: Links raussuchen+
  
 +{{:hardware:tronsmart_pavo_m9.jpg?400|}}{{:hardware:tronsmart_pavo_m9_connectors.jpg?400|}}
  
-=== Software === +  * SoC – Mstar MSO9180D1R quad core Cortex A9 processor up to 1.5GHz with a Mali-450MP2 GPU 
-Auf der Box läuft ein Android 4.irgendwas+  * System Memory – 1GB DDR3 
-Mit der richtigen App kann man das Videodas aus dem Hardwareencoder fällt in ein ffmpeg auf der Box pipen lassen+  * Storage – 8GB eMMC flash + micro SD slot 
-[[https://blog.danman.eu/using-tronsmart-pavo-m9-for-hdmi-input-streaming/]]+  * 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/up to 4Kx2K, etc.. 
 +  * Audio Codec – MP3, AAC, AC3, DTS-HD MasterTrueHD 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
  
-=== Skripte === +== Overview 
-Als ffmeg Zeile für die App ZidoStreamer setze ich das folgende ein: +This product seems to be out of production but is sometimes still available from chinese online stores. 
-<code> +Its most important feature is the HDMI input which can be used to capture / stream scale an HDMI signal
-TODO copypasta von der box +
-</code>+
  
-Folgende zwei Skripte kann man einsetzen um den RTMP Stream in voctocore zu schieben+== As a frame rate converter  
-<code> +In 2016/2017 we changed the default [[:eventcases|event cases]] setup, we using the Pavo M5 to convert the projector signal to 1080p24, which we can feed into a [[Decklink]] Mini Recoder HDMI PCI capture card. In contrast to a H264 stream over ethernet, the latency is much lower. 
-TODO ffmpeg script copypasta+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. 
 +* [[https://apps.store.aptoide.com/app/market/com.autostart/222/6899286/AutoStart+-+No+root| 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. [[https://github.com/hiteshsondhi88/ffmpeg-android/releases/download/v0.3.3/prebuilt-binaries.tar.gz|here]] 
 + 
 +==== Scripts 
 +Here are some example command lines for ffmpeg that we use: 
 + 
 +===== on android box 
 + 
 +stream to ngnix on encoder box 
 +<code bash
 +/mnt/sdcard/ffmpeg -i - -c copy -absf aac_adtstoasc -f flv rtmp://100.122.3.243:1935/source/tronsmart
 </code> </code>
-Dieses Skrit hat den vorteildass Audio, was über die HDMI Verbindung geschickt wird im voctomix zur verfügung steht und synchron mit dem Video istBietet sich vor allem dann ann, wenn der Vortragende ein Video abspielt und viel im Video gesprochen wirdda man Voctomix dann auf diese Audioquelle umstellen kann.+ZidoStreamer is set to a video bitrate of 20 Mbit/s and 26 fps. With 25 fpsthere is flicker in voctomix. Audio is set so 320 kbit/sbut isn't used.
  
-Oder alternativ mit gstreamer+ 
-<code> + 
-TODO gstreamer script copypasta+====== on encoder cube 
 + 
 +   cd /opt/voctomix 
 +   wget https://raw.githubusercontent.com/voc/voctomix/master/example-scripts/default-config.sh   
 + 
 + 
 + 
 +======= ffmpeg variant 
 +RTMP stream to voctomix – e.g. as script in /opt/voctomix/scripts/forward-stream.sh 
 +<code bash
 +#!/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
 </code> </code>
 +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.
  
 +
 +======= gstreamer variant
 +
 +Alternative version using gstreamer:
 +<code bash>
 +#!/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
 +</code>
  • hardware/tronsmart_pavo_m9.txt
  • Last modified: 2017/12/04 22:57
  • by andi