header.png
asy Software

Allgemeine Beschreibung
zum Download und zur Installation

Downloads

Unter diesen Möglichkeiten kann das benötigte Paket ausgewählt werden.
  • ..exe -> Windows Package
  • ..amd64.deb -> 64Bit Debian Package
  • ...armhf.deb -> 32Bit Package Raspberry PI
  • ...tar.gz -> Quelltext Package

Voraussetzungen

EasyStream verwendet VLC für die Videoausgabe (genauer die Bibliothek libvlc) und grundsätzlich wie auch VLC die Qt5 oder Qt6 Bibliotheken.
Wer nur EasyStream auf einem Debian (Ableger) testen möchte kann diese Rubrik überspringen, die notwendigen Pakete werden automatisch mitinstalliert.
Bei anderen Distributionen unterscheiden sich die entsprechenden Paketnamen möglicherweise

Für den Anwender:
Debian: sudo apt install vlc net-tools

Für den Entwickler ( und bei Verwendung der Qt5 Bibliotheken )
Debian: sudo apt install vlc libvlc-dev net-tools qtcreator qtbase5-dev libqt5webkit5-dev

Für die Erstellung eines Debianpaketes
sudo apt install dh-make

Versionskontrollsystem ( nicht zwingend erforderlich )
sudo apt install brz

Installation

Windows

Das Windowspaket ist eine selbstextrahierende Datei. Starte diese Datei in einem beliebigen Ordner (das kann auch der Downloads Ordner von Windows sein) und der Ordner für EasyStream wird dort erstellt, alles was EasyStream benötigt wird danach in diesem Ordner enthalten sein. Es gibt keine sonstige Änderungen an Windows, für eine Deinstallation von EasyStream lösche einfach diesen Ordner wieder.
EasyStream nutzt intern libVLC als Videoplayer. VLC selbst muss dafür aber nicht installiert sein.

Linux (Debian...)

Für Linux Systeme die auf Debian basieren und das Debian Paketsystem benutzen wie z.B. Ubuntu, Mint ( aber auch Raspberry PI OS )uvm. gibt es die fertigen Debian Pakete ( Endung ".deb") zum Installieren.
  • ...i386.deb für 32Bit Systeme ( Bisher noch nicht erstellt, wer benötigt die noch? )
  • ...amd64.deb für 64Bit Systeme
  • ...armhf.deb für 32Bit Raspberry PI Systeme ( Hier doch noch das 32Bit Paket)

Passendes Debian Paket herunterladen, im Ordner des Pakets ein Terminal öffnen und ...
sudo apt install ./*.deb
( falls der Ordner nur dieses eine Debianpaket enthält)
sonst muss das Debianpaket etwas genauer angegeben werden, wie z.B.
sudo apt install ./easystream_0.7-9-*.deb
( hier noch evtl die Versionsnummer korrigieren )

RPM Pakete

Für Linuxdistributionen die das RPM Paketsystem verwenden wie z.B. openSuse können die Debian Pakete in RPM Pakete umgewandelt werden. Dazu gibt es das Programm alien das auf vielen Distributionen verfügbar ist.
  • alien -rk PAKETNAME.deb
Das so erzeugte RPM Paket kann dann über die Paketverwaltung der Distribution installiert werden.

Entwicklung

Linux

Wenn die Voraussetzungen erfüllt sind ( siehe oben )
Entpacken des Quelltextpaketes easystream-0.7-9.tar.gz.

Im entpackten Ordner:
make
sudo make install

Die Konfigurationsdateien von EasyStream sind im Ordner ~/EasyApps/EasyStream abgelegt.

Paketbau (.deb)

Wenn die Voraussetzungen erfüllt sind ( siehe oben )
Entpacken des Quelltextpaketes easystream-0.7-9.tar.gz , im entpackten Ordner:
sichere Variante:
sh makepackage.sh
einfachere Variante:
./makepackage.sh
Die einfachere Variante kann dann nicht funktionieren wenn:
  • makepackage.sh nicht als Ausführbar gekennzeichent ist
  • Das Laufwerk auf dem makepackage.sh gespeichert ist als "nicht Ausführbar" gemountet ist ( Stichwort noexec / exec in den Mountoptionen)

Voraussetzungen eines VDR als Server

An dieser Stelle gehe ich davon aus, dass bereits ein VDR existiert und nur der Streamingserver aktiviert werden muss.
Debian: sudo apt install vdr-plugin-streamdev-server

Ermittle Dein lokales Netzwerk z.B mit ifconfig. Hier meine Beispielwerte
inet: 192.168.0.0
netmask: 255.255.255.0

Diese Dateien müssen auf dem VDR Server angepasst werden:
/var/lib/vdr/svdrphosts.conf
/var/lib/vdr/plugins/streamdev-server/streamdevhosts.conf

und sollten mindestens diese Einträge enthalten
( ersetzte 192.168.0 mit dem passenden Wert aus Deinem Netzwerk )
127.0.0.1 # localhost
192.68.0.0/24 # any host on the local net

Ob der Streamingserver jetzt läuft? Das Testen wir so:
Öffne im Internetbrowser diese Seite
http://VDR:3000 ( ersetze VDR mit der Adresse deines VDR )
War das erfolgreich, dann kopiere einen Link aus der Senderliste, das sollte dann etwa so aussehen
http://vdr:3000/S19.2E-1-1011-11110.ts
Starte den VLC und trage den Link unter "Medien - Netzwerkstream öffnen" ein. Wenn alles funktioniert sollte jetzt der Live-Stream des passenden TV Senders zu sehen sein.



Ab hier der alte Inhalt von EasyStream-0.6

ist noch zu überarbeiteten


Windows

Das Programmpaket für Windows enthält alle benötigten Dateien in einem mit "7-Zip" erstelltem selbst entpackenden Archiv. Die heruntergeladene Datei kann in einen beliebigen Ordner kopiert werden und dort durch Programmstart entpackt werden. Alle Dateien die das Pogramm benötigt, werden innerhalb dieses Ordners entpackt. Es werden keine Änderungen am Windows System oder an der Windows Registry vorgenommen. Somit kann das Programm auf einfache Weise durch löschen dieses Ordners wieder komplett entfernt werden.

Quelltext

Windows Nutzer können das Quelltext Paket mit Programmen wie z.B. 7-Zip entpacken!
Pakete mit tar.gz sind immer doppelt gepackt, also 2 x auspacken !

Voraussetzungen

Die Programme wurden mit C++ und der Erweiterung durch die Qt4/Qt5-Klassen erstellt. Qt4/Qt5 ist LGPL Lizenziert und kann somit kostenlos verwendet werden.
  • Windows: Als Compiler kommt MinGW zum Einsatz, der als Komplettpaket incl. den QT4-Klassen und Hilfsprogrammen wie z.B. der IDE QT-Creator bei Qt-Project heruntergeaden werden kann.
  • Linux: Hier wird natürlich der GNU-Compiler GCC verwendet. Compiler, QT4/Qt5-Klassen und QT-Creator lassen sich bei allen Distributionen über das jeweilige Paketsystem installieren. Weiterlesen bei Ubuntuusers

Qt5

Fehlendes Paket in Ubuntu 20.04 bei Benutzung des qtcreators
Fehlerhafte Anzeige von Code errors beim Syntax check im Editor
* apt install libclang-common-8-dev

Das neue Qt5 erfordert einige (kleinere) Anpassungen am Quelltext der Programme, die mit Qt4 entwickelt wurden.

* sudo apt-get install qt-sdk qt5-default libqt5webkit5-dev
Diese Programme sind bereits für Qt5 angepasst (lassen sich aber auch noch mit Qt4 erstellen)
  • EasyKontakt
  • EasyStream
  • EasyWebitor
zur Anpassung der Projektdatei an Qt4/Qt5 verwende z.B. in EasyKontakt diese Sequenz
QT      += core gui network
isEqual(QT_MAJOR_VERSION, 4) {
  DEFINES += QT4V
  QT      += webkit
   OBJECTS_DIR = buildQt4
   MOC_DIR = buildQt4
   UI_DIR = buildQt4
}
isEqual(QT_MAJOR_VERSION, 5) {
  DEFINES += QT5V
  QT      += widgets webkitwidgets
   OBJECTS_DIR = buildQt5
   MOC_DIR = buildQt5
   UI_DIR = buildQt5
}

Quelltext/Linux

Schritt für Schritt Anleitung:
  • Um die Programme aus dem Quelltext zu bauen muss zuerst eine "Entwickungsumgebung" eingerichtet werden, bei vielen Distributionen reicht es aus dazu das Paket qt-creator (Debian) oder auch qtcreator (openSuse) über das Paketsystem zu installieren.
  • Das Quelltextpaket Paketname.tat.gz von www.sigvdr.de herunterladen und entpacken.
Möglicherweise fehlt im Quelltextpaket die Datei ../src/version.h. Dann muss diese Datei zuerst noch manuell angelegt werden. Der Inhalt der Datei ist nur eine einzelne Zeile:
..src/version.h (Sinnvollerweise auch die Versionsnummern anpassen)
static QString VERSION = "0.1-54";
  • Sollte das Programm zusätzlich zu Qt4/Qt5 weitere Abhängigkeiten haben, so ist dies in der Datei ../debian/control in der Zeile Depends zu finden.
../debian/control
Depends: ${shlibs:Depends}, ${misc:Depends}, vlc
  • In diesem Beispiel ergibt sich eine weitere Abhängigkeit von vlc, genauer gesagt von einer Library libvlc (Debian) und den dazu passenden Headerdateien libvlc-dev (Debian) oder vlc-devel (openSuse). Diese Headerdateien müssen über das Paketsystem der Distribution installiert werden.
  • Jetzt sollte es möglich sein das Programm aus dem Quelltext zu bauen. Dazu bitte ein Terminal öffnen und in in den zuvor entpackten Order wechseln (dort solllte die Projektdatei Paketname.pro vorhanden sein) und diese beiden Kommandos ausführen.
qmake
make
  • Danach kann das Programm installiert werden, dazu sind dann aber root-Rechte notwendig.
su
make install

Debian/Linux

Ubuntu 22.04
Installation der Entwicklungsumgebung für Ubuntu 22.04 mit Qt5
sudo apt install build-essential dh-make 
sudo apt install qtbase5-dev qt5-qmake qtbase5-dev-tools libqt5webkit5-dev
sudo apt install qtcreator 
Für EasyStream benötigen wir noch die VLC Library
sudo apt install vlc libvlc-dev libusb-dev
ältere Ubuntu Versionen
Um die Entwicklungsumgebung für Debian,Ubuntu usw. einzurichten reicht die Installation des Metapaketes qt-sdk
  • apt-get install qt-sdk
bei älteren Debian,Ubuntu ... Versionen, die das Metapaket qt-sdk nicht enthalten müssen diese 2 Pakete installiert werden.
  • apt-get install build-essential qtcreator
Ich arbeite gerne mit dem QtCreator als IDE, wenn dort auf der Startseite (Willkommen/Welcome) der Projektmanager fehlt muss das Paket für QtQuick2 noch installiert werden (ca. ab Ubuntu 13.04)
  • apt-get install qtdeclarative5-qtquick2-plugin

Debian Pakete bauen ...
  • apt-get install dh-make
Versionskontrollsystem
  • apt-get install bzr-explorer
Paketerstellung
Zur Erstellung der Debianpakete dient das Script "makepackage.sh" oder alternativ "create-deb" im Basis Ordner des Projekts.

Windows

Entwicklungsumgebung für Windows einrichten.
Versionskontrollsystem
Programm erstellen
Mit der IDE QT-Creator kann das jeweilige Projekt (*.pro) geöffnet und das Programm erstellt werden.
Der QT-Creator ist für die Programmerstellung aber nicht zwingend erforderlich. Das kann auch manuell mit diesen Befehlen ( im Basis Ordner des Projekts) durchgeführt werden.
Beispiel für Windows:
qmake -win32 -o Makefile *.pro
mingw32-make

QT4 Allgemein

QT4 ist für viele unterschiedliche Betriebsysteme verfügbar und nimmt dem Programmierer nahezu alle Probleme ab, die sich aus den unterschiedlichen Funktionsweisen der Betriebssysteme ergeben. Somit ist der Aufwand für eine Portierung der Software als sehr niedrig anzusehen. Weiterlesen bei Wikipedia