hardware:tronsmart_pavo_m9

Tronsmart Pavo M9

Auch einfacher bekannt als “Android Box”. http://www.tronsmart.com/products/tronsmart-pavo-m9

Diese kleine Box, erhältlich bei diversen Händlern aus Fernost ist eigentlich als Settopbox für den Nicht-Smart-TV gedacht. Zeichnet sich aber durch einen HDMI Eingang aus. Dadurch kann sie als günstige Alternative zu anderen Framegrabbern genutzt werden.

Auf der Box läuft ein Android 4.irgendwas.

Im Event-Case Setup nutzen wir den Pavo M5 als HDMI Konverter to 24p, um es dann per HDMI in die (zweite) Decklink Mini Recorder PCI Karte direkt als Folien/Projektor Quelle einzuspeisen. Dazu muss die HDMI App gestartet werden. Autostart einrichten: Im aptoide App Store nach autostart suchen, vermutlich die hier https://apps.store.aptoide.com/app/market/com.autostart/222/6899286/AutoStart+-+No+root

Mit der richtigen App kann man das Video, das aus dem Hardwareencoder fällt in ein ffmpeg auf der Box pipen lassen.
https://blog.danman.eu/using-tronsmart-pavo-m9-for-hdmi-input-streaming/

https://github.com/danielkucera/ZidoStreamer

Damit ZidoStreamer richtig funktioniert muss ein für android kimpiliertes ffmpeg-Binary an die richtige Stelle gelegt werden, z.B. von hier nach /mnt/sdcard

Skripte

Als ffmpeg Zeile für die App ZidoStreamer setze ich das folgende ein:

/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.

Folgende zwei Skripte kann man einsetzen um den RTMP Stream in voctocore zu schieben:

#!/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
  • hardware/tronsmart_pavo_m9.1490260613.txt.gz
  • Last modified: 2017/03/23 10:16
  • by andi