BE:Stream realisieren

Aus Piratenwiki
Wechseln zu: Navigation, Suche

Livestream realisieren

Version 2 10.10.2014

Mittlerweile habe ich zum Thema Streaming viel Erfahrung sammeln können. Hiermit trage ich meine Erkenntnisse zusammen und reduziere diese auf das Wesentliche Einige ältere Informationen sind nur noch >hier> zu finden.


LaVo Berlin wird so gestreamt

LaVoStream.jpg

Einmal eingerichtet, dann sind keine weiteren Arbeiten nötig.

Nur einschalten muss man noch und dann die Kamera bedienen.

Bei geringer Netzwerk Bandbreite, zB bei Demos ist dieses auch mit LTE/UMTS sehr gut möglich! Kamera und VidU haben eigene Akkus, die bis zu 3h streamen können.

Eine Erweiterung der Akku-Kapazität ist leicht möglich, da das VidiU 6-12V Eingangsspannung hat.

Für die Sony Camcorder gibt es Akkus für 9€ die bis zu 6h Laufzeit bieten. Auch am Server sind keine arbeiten nötig, wenn dieser einmal eingerichtet ist.


Noch offen: Transcoding mit entsprechendem Player, so das diese Streams auch problemlos am Handy/Smartphone gesehen werden können.


LaVoStreamer.jpg

Die Kosten (einmalig!):

Teradek VidiU 654€

Sony HDR-CX330 Camcorder 235€ (Es geht auch jede andere Kamera. Was die Kamera können sollte: Optical Steady, 30 fach Zoom, Audio In, HDMI Out)

Stativ Manfrotto MKC3-H01M 50€


Weitere Kosten:

Server Linux mit guter Netz Anbindung!

Software (kostenlos) Red5, JW | JS Player

Einfach und preiswert streamen geht so!

WebCamStream.jpg

Oder mit ManyCam [1], ( ein tolles Tool! ) geht so:

WebCamManyCamStream.jpg

RED5 Linux Streaming- Server

www.red5.org ...enthält schon eine extrem-kurz-Anleitung! red5Wiki


RED5 Server installieren auf einem CentOS release 6.2 (Final)

1. Installation

http://tecadmin.net/installing-red5-media-server-on-centos-6/

http://tecadmin.net/steps-to-install-java-on-centos-5-6-or-rhel-5-6/

2. Firewall Befehle die zT nötig werden, siehe unten.

iptables -L -v -n

iptables -I INPUT -m tcp -p tcp --dport 1935 -j ACCEPT

iptables -I INPUT -m tcp -p tcp --dport 5080 -j DROP

iptables -I INPUT -m tcp -p tcp --dport 5080 -j ACCEPT


http://IP-des-Servers:5080/

Start/Stop

/etc/init.d/red5 stop

/etc/init.d/red5 start

/etc/init.d/red5 restart


Log anzeigen lassen

tail -f /opt/red5/log/red5.log

tail -f /opt/red5/log/error.log

tail -f /opt/red5/log/red5Stremer.log

Anz. Verbindungen ermitteln: netstat |grep macromedia-fcs|wc

RED5 Bedienung/was mann wissen sollte

Red5 hat ein eigenen WEB Server auf:

http://IP:5080/

Hier findet sich der Intsaller

http://IP:5080/installer/

hier dann auch die oflaDemo installieren!

hier gibt es eine Admin Console:

http://IP-des-Servers:5080/demos/adminPanel.html

Danach diesen Port sperren!!

geht mit: iptables -I INPUT -m tcp -p tcp --dport 5080 -j DROP

Anzahl der User/Zuschauer die den Strem sehen ermitteln

   netstat |grep macromedia-fcs|wc  (die erste Ziffer ist die Anzahl -1)

HTML für Player

Flash Player ist der: [www.video-flash.de flvplayer-1.9.7b]

...

<script type="text/javascript" src="jwplayer.js"></script>
<script type="text/javascript">
jwplayer("mediaplayer").setup({flashplayer: "player.swf",type: "rtmp",file: "mirco", streamer: "rtmp://IP-des-Servers/oflaDemo",
provider: "rtmp",image: "preview.jpg" });
</script>

..

Streamen mit Windows|Mac

Hier wird beschrieben, wie man die Daten der Kamera (also das Bild), oder die Daten von ManyCam an den Streaming-Server sendet.

Man spricht dann von: encoden, was nur so viel heißt wie: Die Kamera Daten in ein H.264 Datenstrom umzurechnen.

Dieser H.264 Datenstrom kann sehr unterschiedlich umgerechnet werden, eben mehr oder weniger Daten produzierend.

Um so größer die Auflösung und um so besser die Qualität sein soll, umso mehr Daten werden erzeugt.

[hier fehlen entsprechende Grafiken]

Ein sehr gutes Programm zum encoden ist der Adobe Flash Media Live Encoder 3.2,

bekommt man hier: http://www.videohelp.com/tools/Flash-Media-Live-Encoder

FAQ: http://www.adobe.com/de/products/flash-media-encoder/faq.html

mit folgenden Einstellungen...

Dagfdihf.png

..starten ....

Dann mit, wie Beispiel: http://IP-des-Servers/bvv/ anschauen/anhören :-)

Beim Mac wird mal wohl nach dem rmpt Port gefragt, dieser ist: 1935


ManyCam

ManyCam ist eine Windows|Mac Software die wie ein live Schnittplatz funktioniert.

Man kann Kameras überblenden/umschalten; Einblendungen/Bauchbinden vornehmen.

ManyCam kann auch als Eingabegerät für Adobe Flash Media Live Encoder 3.2


verwendet werden. Ist somit also bestens geeignet und kostet nur ca. 50$ und die lohen wirklich.

Zum Beispiel ist es damit auch möglich, Folien eines Vortrags direkt und ohne Verluste in

den Stream einzuspielen.

GrabBeeHD

Das HDMI-Capturen mit dem [GrabBeeHD http://www.ebay.de/itm/151363510645?_trksid=p2059210.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT] wie im Bild angedeutet,

funktioniert zZ leide nicht. Das Problem ist der Teiber unter Windows welcher die Bilddaten für andere Programm

nicht zur Verfügung stellt. Das heißt, man kann zwar das Bild einlesen, nur der Adobe Medien Encoder oder ManyCam

haben kein Zugriff auf das Bild (den Bildstream). Ich habe mit der Firma Kontakt aufgenommen.

Hinweise

Flash Video Infos

http://videoencoding.websmith.de/encoding-praxis/linux-flashplayer-einbinden.html

http://videoencoding.websmith.de/encoding-praxis/linux-qtfaststart-metadaten.html

http://blog.doomicile.de/2009/03/01/flash-videoplayer-und-mp4-video/

Wandeln mit "XMedia Recode" als .flv Files, dann ist der Header automatisch vorne und das Video wird beim streamen gleich angezeigt!

Streamen mit Linux

Linux Encoder (Sender des Streams am Client)

Sicher kann man auch unter Linux encoden (also die Daten von einer Kamera, per rtmp zu RDE5 Server senden).

Ich habe dieses noch nicht getestet, werde es aber bald mal tun. Gerne könnt ihr mir helfen dabei.

Ich denke, vor allem die Anbindung von einer Kamera an Linux könnte das Problem sein.

Hier ein paar Recherchen dazu:

http://www.ubuntugeek.com/tragtor-gui-for-ffmpeg.html

dvgrab - | ffmpeg -i - -re [your encoding params] -f flv rtmp:...


dvgrab -f raw -noavc - |LD_LIBRARY_PATH=$XUGGLE_HOME/lib ffmpeg -i - -f dv1394 -s 500x375 -r 10 -ar 22050 -ab 32k -ac 1 -b 750K -f flv rtmp://my.server.it/app/stream

http://wiki.ubuntuusers.de/dvgrab


Auch video4linux2 für WebCams ist vielversprechend.


Hier eine weitere, sehr informative Seite

Stream auf weiteren Server clonen

Hier ein Beispiel der Marina Kassel

ffmpeg -i rtmp://live.piratenpartei.de:1935/live/mp4:potsdam -vcodec copy -acodec copy -s WxH -f flv rtmp://85.25.44.111/oflaDemo/VidiUIdova01

Stream aufzeichnen

ffmpeg -i rtmp://live.piratenpartei.de:1935/live/mp4:potsdam -acodec copy -vcodec copy -y test.flv

ffmpeg Install on CentOS

https://www.digitalocean.com/community/tutorials/how-to-convert-videos-with-ffmpeg-on-centos-6

Web Chat

Eine Chat Lösung mit RED5


http://www.red5chat.com/index.html

Ist noch nicht getestet, insbesondere, wie viele User damit gleichzeitig arbeiten können.


Android

RTMP LIVE Stream Player

https://play.google.com/store/apps/details?id=air.tv.lotusfusion.rtmp.player.one

RED5 Server Hoster

Bei mir: @idova01 je nach Auflösung und kbps Stream, bis zu 200 Zuschauer.

https://www.red5host.com/

http://www.red5server.com/

https://aws.amazon.com/marketplace/pp/B008CIX2MA/ref=mkt_ste_l2_Gaming_f3?nc1=h_l2_g

http://hosting-marketers.com/



Stream realisierenComputer und TechnikVeranstaltungStreaming