Plugin live HTML5 Web-Streaming!
#1
Lightbulb 
Hallo,

mit Plugin live gibt es nun die Möglichkeit Live-Streams wieder im Browser abzuspielen.
Der Stream wird nun über einen HTML5 Player ausgegeben.Hierzu wird der Stream in *.m3u8
aufgeteilt, was in Echtzeit passiert. HLS(HTTP Live Streaming) sollten ja viele schon kennen.
Da diese Funktion aber von easyVDR-3.5(ffmpeg-3.3.0) nicht unterstützt wird,
muss ein aktuelles Static-Build von ffmpeg installiert werden.

**Achtung**
Es ist nicht mehr nötig ffmpeg static-build selbst zu installieren.

Paket aktualisiert!
...installieren
32Bit:
Code:
sudo cd /tmp
sudo stopvdr
sudo wget https://launchpad.net/~mango-vdr/+archive/ubuntu/test-hevc/+files/vdr-plugin-live_2.3.1~git20190413-0easyVDR0~trusty_i386.deb
sudo dpkg -i vdr-plugin-live*.deb
sudo startvdr

64Bit:
Code:
sudo cd /tmp
sudo stopvdr
sudo wget https://launchpad.net/~mango-vdr/+archive/ubuntu/test-hevc/+files/vdr-plugin-live_2.3.1~git20190413-0easyVDR0~trusty_amd64.deb
sudo dpkg -i vdr-plugin-live*.deb
sudo startvdr
wird alles installiert,damit Web-Streaming mit Plugin live funktioniert!

FFmpeg holen:
Code:
***

nun vergleicht man mit

Code:
***

den Inhalt von "ffmpeg-git-amd64-static.tar.xz.md5" ...ist alles Ok,entpacken!

Code:
***

dann in das Verzeichnis wechseln

Code:
***

und kopieren das File ffmpeg nach /opt ...wenn es kein Dir /opt gibt, muss dies erstellt werden.

Code:
***

kopieren

Code:
***

rechte setzen & ausfürbar machen

Code:
***

Plugin live wurde so patched, dass ffmpeg in /opt liegen muss.
Download Plugin & installieren

Code:
***

Für die meisten Browser bedeutet das, dass nur HD Sender mit H264 Stream funktionieren.
Ab und an kann es vorkommen, dass der Stream nochmals gestartet werden muss. ...mit Browser Brave läuft es bei mir am besten.

Pic: Live - Web-Streaming
[Bild: 8i3xjlso.jpg]

Thread VDR-Portal -> https://www.vdr-portal.de/forum/index.ph...streaming/
THX "Xcoder"

P.S
Paket vdr-plugin-live ist nur in 64Bit(amd64) verfügbar,32Bit(i386) läuft noch nicht durch ...compile error.
Wer das Plugin auch nach upgrade behalten will, sollte es zuvor auf hold setzen!
Code:
sudo apt-mark hold vdr-plugin-live
hold lösen mit
Code:
sudo apt-mark unhold vdr-plugin-live
Wer es testen will,viel Spass beim frickeln! Wink  Wink

Gruss
Wolfgang
Show Content
Zitieren
#2
Hallo!

Post#1 aktualisiert, neue Version von Live!

Pic: Einstellungen
[Bild: 6wbdnl3o.jpg]
Hier gibt man nun den Pad zu static-ffmpeg an. Bei uns ist das -> /opt/ffmpeg
"Web-Streaming packetizer command" hab ich nach "Web-Streaming - Pfad zu FFmpeg" übersetzt
was für jeden klar verständlich sein sollte!
Code:
--- a/po/de_DE.po
+++ b/po/de_DE.po
@@ -829,6 +829,9 @@
msgid "Allow video streaming"
msgstr "Erlaube Videoanzeige im Browser"

+msgid "Web-Streaming packetizer command"
+msgstr "Web-Streaming - Pfad zu FFmpeg"
+
msgid "Streamdev server port"
msgstr "Streamdev Server Port"


Pic: Web-Streaming
[Bild: 4ivxdbti.jpg]
Hier wurde die Grösse geändert und die Ausgabe zentriert, damit auch auf 1280x800 z.B Laptop
eine vernünftige Darstellung möglich ist.

P.S
Keine zusätzlich Last der CPU durch Resize der Ausgabe!

Gruss
Wolfgang
Show Content
Zitieren
#3
Hallo,

Plugin Live aktualisiert. Download in Post #1 angepasst!
Pic: Player
[Bild: c7vw8auq.jpg]

Pic: Einstellungen
[Bild: eawawi5u.jpg]

Parameter im Plugin live sind nun für Web-Streaming frei wählbar.
Web-Streaming MPG2:
Code:
/opt/ffmpeg -loglevel warning -f mpegts -analyzeduration 1.2M -probesize 5M -i <input> -map 0:v -map 0:a:0 -c:v libx264 -preset superfast -crf 21 -tune zerolatency -g 25 -r 25 -c:a aac -ac 2
Web-Streaming HEVC funktioniert mit Intel/Nvidia GPU!
Mehr zu Intel(VAAPI) findet man unter -> https://www.vdr-portal.de/forum/index.ph...ost1310587

Gruss
Wolfgang
Show Content
Zitieren
#4
Ich habe ein Problem beim installieren des deb aus Post #1:


Code:
mv: das Überschreiben des Verzeichnisses »/opt/ffmpeg“ mit einem Nicht‐Verzeichnis ist
nicht möglich.


liegt (vermutlich) an dieser Zeile in "postinstall"

Code:
mv ffmpeg /opt
Habe es dann von Hand angepasst, danach läuft die Installation des deb durch.
Leider funktioniert das HTML5-Streaming bei meinem VDR noch nicht. HD kommt nichts, SD läuft an und bleibt nach 1-2 Sec stehen.

easyinfo und syslogauszug lässt sich nich anhängen ???
Darum hier https://www.dropbox.com/sh/irxnkt9e6x345...QQOHa?dl=0
Show Content
Zitieren
#5
Hallo,

(04.03.2019, 10:32)mblaster4711 schrieb: mv: das Überschreiben des Verzeichnisses »/opt/ffmpeg“ mit einem Nicht‐Verzeichnis ist
nicht möglich.
es wird nur das Binary(ffmpeg) nach /opt geschoben, kein Verzeichnis! ...gab es da schon ein Dir ffmpeg??
Wie ist denn die Ausgabe von ls -l /opt  oder ll /opt

[Edit On]
Wenn es unter /opt ein Dir ffmpeg gibt, dann nutzt du noch easyVDR-3.0 und nicht 3.5
Nun ist auch der Fehler beim verschieben von ffmpeg geklärt.
easyVDR-3.0
Code:
/opt/ffmpeg/bin/ffmpeg
Ob das Plugin überhaupt startet ist auch fraglich, da der Patchstand von easyVDR-3.0 sich zu Version 3.5
auch geändert hat.Hatte auch im easyInfo segfaults gesehen!
[Edit Off]

(04.03.2019, 10:32)mblaster4711 schrieb: Leider funktioniert das HTML5-Streaming bei meinem VDR noch nicht. HD kommt nichts, SD läuft an und bleibt nach 1-2 Sec stehen.
...deine setup.conf
Code:
live.AdminLogin = admin
..........
..........
live.StreamdevPort = 3000
live.StreamdevType = TS
live.StreamVideoOpt0 = ffmpeg -loglevel warning -f mpegts -analyzeduration 1.2M -probesize 5M -i <input> -map 0:v -map 0:a:0 -c:v copy -c:a aac -ac 2
live.StreamVideoOpt1 = ffmpeg -loglevel warning -f mpegts -analyzeduration 1.2M -probesize 5M -i <input> -map 0:v -map 0:a:0 -c:v libx264 -preset ultrafast -crf 23 -tune zerolatency -g 25 -r 25 -c:a aac -ac 2
live.StreamVideoOpt2 = ffmpeg -loglevel warning -f mpegts -analyzeduration 1.2M -probesize 5M -i <input> -map 0:v -map 0:a:0 -c:v libx264 -preset ultrafast -crf 23 -tune zerolatency -g 25 -r 25 -c:a aac -ac 2
live.StreamVideoOpt3 = ffmpeg -loglevel warning -f mpegts -analyzeduration 1.2M -probesize 5M -i <input> -map 0:v -map 0:a:0 -c:v libx264 -preset ultrafast -crf 23 -tune zerolatency -g 25 -r 25 -c:a aac -ac 2
live.Theme = marine
..........
..........
live.UserdefTimes = 12:00;16:00;20:00;22:00;01:00
live.UseStreamdev = 1
Du musst schon den Pfad richtig angeben. ...unter Einstellungen ein /opt/ vor ffmpeg, dann wird auch das Static-Build genutzt.
Steht da nur ffmpeg wird unser ffmpeg genommen,dass kein HLS kann. ...ist aber in Post #3 beschrieben.

Gruss
Wolfgang
Show Content
Zitieren
#6
Hallo Wolfgang

Ich habe das versucht - bekomme einen Fehler beim Installieren:

Kannst du helfen?

Danke dir

Code:
[email protected]:~# dpkg -i vdr-plugin-live_2.3.1~git20190413-0easyVDR0~trusty_amd64.deb
(Lese Datenbank ... 220523 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von vdr-plugin-live_2.3.1~git20190413-0easyVDR0~trusty_amd64.deb ...
Entpacken von vdr-plugin-live (2.3.1~git20190413-0easyVDR0~trusty) über (2.3.1~git20170620-1easyVDR1~trusty) ...
vdr-plugin-live (2.3.1~git20190413-0easyVDR0~trusty) wird eingerichtet ...
--2020-10-24 11:48:40--  https://git.easy-vdr.de/mango/mango-test/raw/commit/cb4773bd2388c416f4f2d7ad1a5dda92c72dc223/live_ffmpeg/ffmpeg-git-amd64-static.tar.xz
Auflösen des Hostnamen »git.easy-vdr.de (git.easy-vdr.de)«... 2606:4700:3034::681b:a7fc, 2606:4700:3033::681b:a6fc, 2606:4700:3030::ac43:9de9, ...
Verbindungsaufbau zu git.easy-vdr.de (git.easy-vdr.de)|2606:4700:3034::681b:a7fc|:443... verbunden.
HTTP-Anforderung gesendet, warte auf Antwort... 302 Found
Platz: /user/login [folge]
--2020-10-24 11:48:40--  https://git.easy-vdr.de/user/login
Wiederverwendung der bestehenden Verbindung zu [git.easy-vdr.de]:443.
HTTP-Anforderung gesendet, warte auf Antwort... 200 OK
Länge: nicht spezifiziert [text/html]
In »»ffmpeg-git-amd64-static.tar.xz«« speichern.

    [ <=>                                                                                             ] 9.002       --.-K/s   in 0,001s 

2020-10-24 11:48:40 (15,3 MB/s) - »ffmpeg-git-amd64-static.tar.xz« gespeichert [9002]

xz: (stdin): Datei Format nicht erkannt
tar: Child returned status 1
tar: Error is not recoverable: exiting now
dpkg: Fehler beim Bearbeiten des Paketes vdr-plugin-live (--install):
Unterprozess installiertes post-installation-Skript gab den Fehlerwert 2 zurück
Fehler traten auf beim Bearbeiten von:
vdr-plugin-live
[size=x-small][b]VDR 1: [/b]ASRock mit Atom J1200, NVIDIA GT610, Lüfterlos, TBS 6982 SE [/size][size=x-small]mit easyVDR 3.0[/size]
Zitieren
#7
Hallo Andy,

(24.10.2020, 11:54)sinai schrieb: Ich habe das versucht - bekomme einen Fehler beim Installieren:

Kannst du helfen?
da ffmpeg-3.3.0 kein HLS(m3u8) kann,wird hier ffmpeg-static aus dem Git(mango-test)
installiert.Was aber nicht funktionieren kann,da z.Zt das Git non Public ist.

Code:
--2020-10-24 11:48:40--  https://git.easy-vdr.de/mango/mango-test/raw/commit/cb4773bd2388c416f4f2d7ad1a5dda92c72dc223/live_ffmpeg/ffmpeg-git-amd64-static.tar.xz
Auflösen des Hostnamen »git.easy-vdr.de (git.easy-vdr.de)«... 2606:4700:3034::681b:a7fc, 2606:4700:3033::681b:a6fc, 2606:4700:3030::ac43:9de9, ...
Verbindungsaufbau zu git.easy-vdr.de (git.easy-vdr.de)|2606:4700:3034::681b:a7fc|:443... verbunden.
HTTP-Anforderung gesendet, warte auf Antwort... 302 Found
Platz: /user/login [folge]

Gruss
Wolfgang
Show Content
Zitieren
#8
Kann ich das manuell machen? Liegt das noch irgendwo anders? Kannst du mir das zur Verfügung stellen?

Oder wie löse ich das? Den Quellcode aus der postinst des Paketes habe ich - brauche nur das ffmpeg-git-amd64-static.tar.xz

Danke dir
[size=x-small][b]VDR 1: [/b]ASRock mit Atom J1200, NVIDIA GT610, Lüfterlos, TBS 6982 SE [/size][size=x-small]mit easyVDR 3.0[/size]
Zitieren
#9
Hallo Andy,

(24.10.2020, 16:05)sinai schrieb: brauche nur das ffmpeg-git-amd64-static.tar.xz
Martin hat Dir doch zugriff auf das git eingerichtet.
Siehe -> https://git.easy-vdr.de/mango/mango-test...ive_ffmpeg

Gruss
Wolfgang
Show Content
Zitieren
#10
Habs nun manuell gesucht und gefunden. Git mango-test wurde nicht angezeigt in der Weboberfläche - sorry für die Mühe.

Werde es installieren und berichten
[size=x-small][b]VDR 1: [/b]ASRock mit Atom J1200, NVIDIA GT610, Lüfterlos, TBS 6982 SE [/size][size=x-small]mit easyVDR 3.0[/size]
Zitieren
#11
Hallo Wolfgang

SD Live Stream klappt gut, aber bei HD kommt nur bei "ZDF" was an - ich sehe nur die weißen Punkte im Streamingfenster.

Code:
Oct 24 19:29:55 easyVDR vdr: [5364] switching to channel 1 (Das Erste HD)
Oct 24 19:29:55 easyVDR vdr: [softhddev] invalid PES video packet
Oct 24 19:29:55 easyVDR vdr: [softhddev] 4 invalid PES video packet(s)
Oct 24 19:30:56 easyVDR vdr: video: decoder buffer empty, duping frame (242/5155) 0 v-buf

Bei ZDF und SAT1

Code:
Oct 24 19:32:27 easyVDR vdr: [5364] switching to channel 2 (ZDF HD)
Oct 24 19:32:27 easyVDR vdr: [5364] info: Kanal nicht verfügbar!
Oct 24 19:32:33 easyVDR vdr: [5364] switching to channel 4 (SAT.1)
Oct 24 19:32:33 easyVDR vdr: [5364] info: Streamen im Gange

Bild ist aber bei ARD auch da. Hast du eine Idee?

Danke dir

LG Andy
[size=x-small][b]VDR 1: [/b]ASRock mit Atom J1200, NVIDIA GT610, Lüfterlos, TBS 6982 SE [/size][size=x-small]mit easyVDR 3.0[/size]
Zitieren
#12
Hallo Andy,

(24.10.2020, 19:33)sinai schrieb: SD Live Stream klappt gut, aber bei HD kommt nur bei "ZDF" was an - ich sehe nur die weißen Punkte im Streamingfenster.
wie ist die Ausgabe von "/opt/ffmpeg -version"

Gruss
Wolfgang
Show Content
Zitieren
#13
Moing,

wenn ich den Stream starten will kommt:


Could not play video
There was a problem tyring to load the video
Error Code: hls:networkError_manifestLoadTimeOut

Muss ich da irgendwo noch was einstellen? Habe die Grundeinstellungen.
Ist das "neue" live schon bei Neuinstallation vorhanden? Da ich ja gestern neu installiert habe.

Grüsse
Asrock J4105M---8GB Ram---DigitalCine S2 V6.5---PicoPSU 90W---SalcarNetzteil 96W---Stm32-Usb-Stick (+ Arduino-Version)---TT-black CT-3650 (+SMK RC-MCE-50GB)---Kingston A2000 (SA2000M8/250G) SSD NVMe PCIe M.2 250GB---EZDIY-FAB NVME PCIe Adapter---Video0-Festplatte WD20SPZX
Zitieren
#14
Hallo Marek,

(27.10.2020, 10:11)xxx3xxx schrieb: Muss ich da irgendwo noch was einstellen? Habe die Grundeinstellungen.
Ist das "neue" live schon bei Neuinstallation vorhanden? Da ich ja gestern neu installiert habe.
in diesem Forum geht es um easyVDR-3.5 und nicht easyVDR-5.0
Bitte HIER ein neues Thema erstellen!

Gruss
Wolfgang
Show Content
Zitieren
#15
Hallo Wolfgang

Code:
[email protected]:~# /opt/ffmpeg -version
ffmpeg version N-48017-gd92f06eb66-static https://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516
configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc-6 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg
libavutil      56. 26.100 / 56. 26.100
libavcodec     58. 44.100 / 58. 44.100
libavformat    58. 26.100 / 58. 26.100
libavdevice    58.  6.101 / 58.  6.101
libavfilter     7. 48.100 /  7. 48.100
libswscale      5.  4.100 /  5.  4.100
libswresample   3.  4.100 /  3.  4.100
libpostproc    55.  4.100 / 55.  4.100
[size=x-small][b]VDR 1: [/b]ASRock mit Atom J1200, NVIDIA GT610, Lüfterlos, TBS 6982 SE [/size][size=x-small]mit easyVDR 3.0[/size]
Zitieren
#16
Hallo Andy,

Version ist wie bei mir!

Einstellungen im Web-If von Live
Web-Streaming h264:
Code:
/opt/ffmpeg -loglevel warning -f mpegts -analyzeduration 1.2M -probesize 5M -i <input> -map 0:v -map 0:a:0 -c:v copy -c:a aac -ac 2

Web-Streaming MPEG2:
Code:
/opt/ffmpeg -loglevel warning -f mpegts -analyzeduration 1.2M -probesize 5M -i <input> -map 0:v -map 0:a:0 -c:v libx264 -preset superfast -crf 21 -tune zerolatency -g 25 -r 25 -c:a aac -ac 2

Wenn du nun einen Stream wählst(default ist 1 Kanal),musst du auch warten,bis auf den Kanal
getuned wurde. ...danach kannst du den Stream starten.Wählt man einen anderen Stream auch warten
bis die Kanal-Info(EPG) angezeigt wird.Es kann sonst passieren das ffmpeg immer noch den
vorherigen Kanal bearbeitet.

Gruss
Wolfgang
Show Content
Zitieren
#17
Das ist ja nicht das Problem. Ich habe neu installiert, alles angepasst und Streaming funktioniert nur nicht bei ARD HD, Arte HD, ServusTV HD, 3SAT HD, KIKA HD, Tagesschau24 HD ZDFInfo HD, PhoenixHD und OneHD. Alle anderen Sender UND ZDF HD funktionieren problemlos. Beide Rechner sind mit LAN 1 GBit-netz verbunden.

Ist doch seltsam, dass nur die HD-Sender nicht wollen - im Test laufen auch alle verfügbaren SD Sender der nicht laufenden HD-Sender.

Hast du noch eine Idee?
[size=x-small][b]VDR 1: [/b]ASRock mit Atom J1200, NVIDIA GT610, Lüfterlos, TBS 6982 SE [/size][size=x-small]mit easyVDR 3.0[/size]
Zitieren
#18
Hi Andy,

(30.10.2020, 19:08)sinai schrieb: Hast du noch eine Idee?
hier geht Servus TV HD und auch andere HD Sender!

Pic:
[Bild: 6lqwzva9.jpg]

Gruss
Wolfgang
Show Content
Zitieren
#19
Also hast du keine Idee, warum es bei mir nicht läuft?

Das hilft auch nicht weiter? 

Code:
Oct 24 19:29:55 easyVDR vdr: [5364] switching to channel 1 (Das Erste HD)
Oct 24 19:29:55 easyVDR vdr: [softhddev] invalid PES video packet
Oct 24 19:29:55 easyVDR vdr: [softhddev] 4 invalid PES video packet(s)
Oct 24 19:30:56 easyVDR vdr: video: decoder buffer empty, duping frame (242/5155) 0 v-buf

LG Andy
[size=x-small][b]VDR 1: [/b]ASRock mit Atom J1200, NVIDIA GT610, Lüfterlos, TBS 6982 SE [/size][size=x-small]mit easyVDR 3.0[/size]
Zitieren
#20
Hallo Andy,

(31.10.2020, 12:49)sinai schrieb: Oct 24 19:29:55 easyVDR vdr: [softhddev] invalid PES video packet
Oct 24 19:29:55 easyVDR vdr: [softhddev] 4 invalid PES video packet(s)
Normalerweise sollten die "PES" Fehler nur nach dem Umschalten auftreten,
bis sich alles synchronisiert hat.

Gruss
Wolfgang
Show Content
Zitieren