Habe ich irgendwas falsch in Telerising selbst konfiguriert?
Bei Custom IP Adress fehlt das http:// davor.
Habe ich irgendwas falsch in Telerising selbst konfiguriert?
Bei Custom IP Adress fehlt das http:// davor.
Duh, natürlich! Sorry, hätte ich selbst sehen müssen.
fuer hls mit webvtt brauchste ne neuere ffmpeg version. der stream hat laut ffprobe auch keine subtitles.
Danke. Ich probiere es dann demnächst noch einmal mit einer neueren Version. In kürze kommt ohnehin eine neue Debian stable heraus.
Zu den fehlendende Untertiteln laut ffprobe: Ja, stimmt. Ich kann sie auch tatsächlich nicht sehen, wenn ich die http://192.168.1.5:5000/api/swc/live/39.m3u8 mit einem Texteditor öffne. VLC kümmert dies aber nicht und zeigt sie dennoch an...
Ich habe gerade in VLC unter Codeninformationen nachgesehen. Dort wird als Format WEBVTT genannt. Dann hätte ich sie aber doch im Texteditor sehen müssen, oder...
Liefert Telerising die Untertitelspur vielleicht erst verzögert aus, wenn die 39.m3u8 bereits abgespeichert ist und ffprobe mit dem Test schon durch ist?
Kann es evtl. sein, dass du per ffmpeg keine Untertitel siehst / bekommst, weil du in Telerising "Use custom ffmpeg pipe command" auf default hast?
Ich glaube dieses neue Feature muss ausgefüllt werden. Telerising erkennt den Useragent ffmpeg und liefert default nur die Streamparts, die in Telerising eingestellt sind. Also nur Videospur und die eingestellte(n) Tonspur(en). Wenn das Feld aber ausgefüllt ist, wird alles geliefert, was der Provider hergibt.
Wenn der Useragent VLC und Kodi erkannt wird, dann gibt es auch alles, was der Provider bereitstellt.
Ich hoffe ich habe es damals so richrig vertanden und jetzt auch halbwegs verständlich erklärt.
Falls nicht, dürdt ihr gerne meckern und berichtigen easy4me fds97AVVS
Wenn der Useragent VLC und Kodi erkannt wird, dann gibt es auch alles, was der Provider bereitstellt
daran hab ich garnimmer gedacht. hatte immer damit gerechnet das er es sop gemacht hat
niwi wenn du es dann dochmal geschaft hast werden die untertitel warum auch immer NICHT abgespielt. ich vermute das die zeiten falsch sind.
edit:
wie gedacht die untertitel haben alle ein stamp seit dem letzten start des streams.
wie gedacht die untertitel haben alle ein stamp seit dem letzten start des streams.
Das kann ich jetzt nicht nachvollziehen, dann würden die Untertitel auch in VLC etc. nicht laufen. Oder was ist damit genau gemeint?
Das kann ich jetzt nicht nachvollziehen
der stamp steht im manifest und die kalkulieren das dann. ffmpeg kopiert es einfach nur. video startet dann bei 00:00:00 und der subtitle halt bei "487430:21:59.240"
Also ist ffmpeg das Problem? VLC scheint ja die Zeiten richtig zuordnen zu können.
Also ist ffmpeg das Problem? VLC scheint ja die Zeiten richtig zuordnen zu können.
ja so sieht es bei der eingabe aus. ausgabe ist da das problem.
libav ist ueberall der unterbau also was ffmpeg nicht kann zaubert auch kein vlc.
ja so sieht es bei der eingabe aus. ausgabe ist da das problem.
libav ist ueberall der unterbau also was ffmpeg nicht kann zaubert auch kein vlc.
- ttml kein encoder/decoder nur mux. sinnlos
- mpegts specs nur dvbsub
- webvtt seit 7.1.1, hab ich grad getestet. geht nicht. wo wir wieder beim naechsten gedanken sind. geht nur bei vollstaendiger subtitle file im stream und nicht bei chunks.
- eigender dowloader basteln und dann subtitles kalkulieren und dann alle chunks decrypted bei cenc/muxen.
Das heißt, ich brauche es gar nicht weiter zu probieren, weil alle Wege derzeit verbaut sind, außer etwas selbst zu programmieren? Wäre vielleicht noch GStreamer eine Option?
Was passiert eigentlich, wenn man in den Einstellungen eine DD-Audiospur als erste Option auswählt, die zweite Audiospur auf "none" lässt und dann ein Sender mal nicht über eine DD-Tonspur verfügen sollte? Was reicht Telerising denn dann weiter?
warum die frage und nicht einfach testen?
Was reicht Telerising denn dann weiter?
Stereo AAC1
Das heißt, ich brauche es gar nicht weiter zu probieren, weil alle Wege derzeit verbaut sind, außer etwas selbst zu programmieren? Wäre vielleicht noch GStreamer eine Option?
prototype hls download:
_url=http://10.21.160.55:5000/api/wpu/live/zdf.m3u8
_dir=/syncthing/other/tmp/hls
############# do not change anything below ###############
_dir_r=/hls/
_sleep=0 #EXT-X-TARGETDURATION
_seg_num=0 # #EXT-X-MEDIA-SEQUENCE: # first on video is enough
_video_uri=""
_video_head=""
_audio_uri=""
_audio_head=""
_sub_uri=""
_base=""
#rm -r "$_dir" 2>/dev/null
mkdir -p "$_dir"
_master=$(curl -s -H 'User-Agent: VLC' "$_url")
_audio_url=$(echo "$_master"|grep 'GROUP-ID="audio"'|head -n1|sed -n 's#.*URI="\(.*\)"$#\1#p')
_video_url=$(echo "$_master"|tail -n1)
_sub_url=$(echo "$_master"|grep 'GROUP-ID="subs"'|head -n1|sed -n 's#.*URI="\(.*\)"$#\1#p')
cat << EOF > "$_dir"/_main.m3u8
#EXTM3U
#EXT-X-VERSION:7
#EXT-X-INDEPENDENT-SEGMENTS
$(echo "$_master"|grep "EXT-X-MEDIA:TYPE=AUDIO"|head -n1|sed 's#"https://.*"#"audio.m3u8"#g')
$(echo "$_master"|grep "#EXT-X-MEDIA:TYPE=SUBTITLES"|head -n1|sed 's#"https://.*"#"sub.m3u8"#g')
$(echo "$_master"|grep "#EXT-X-STREAM-INF:BANDWIDTH"|head -n1)
video.m3u8
EOF
_base=${_audio_url%/*}
echo base: $_base
echo remote: $_dir_r
_audio_uri=${_audio_url##*/};_audio_uri=${_audio_uri:0:-5}
_video_uri=${_video_url##*/};_video_uri=${_video_uri:0:-5}
_sub_uri=${_sub_url##*/};_sub_uri=${_sub_uri:0:-5}
echo audio uri: $_audio_uri
echo video uri: $_video_uri
echo sub uri: $_sub_uri
_audio_m3u8=$(curl -s -H 'User-Agent: VLC' "$_audio_url")
_video_m3u8=$(curl -s -H 'User-Agent: VLC' "$_video_url")
_sub_m3u8=$(curl -s -H 'User-Agent: VLC' "$_sub_url")
_audio_head=$(echo "$_audio_m3u8"|grep '#EXT-\|#USP-')
_video_head=$(echo "$_video_m3u8"|grep '#EXT-\|#USP-')
_sub_head=$(echo "$_sub_m3u8"|grep '#EXT-\|#USP-')
echo "$_audio_head"|sed 's#hls/##g' > "$_dir/audio.m3u8"
echo "$_video_head"|sed 's#hls/##g' > "$_dir/video.m3u8"
echo "$_sub_head"|sed 's#hls/##g' > "$_dir/sub.m3u8"
_seg_num=$(echo "$_audio_head"|sed -n 's/^#EXT-X-MEDIA-SEQUENCE:\([0-9]\+\)$/\1/p')
_sleep=$(echo "$_audio_head"|sed -n 's/^#EXT-X-TARGETDURATION:\([0-9]\+\)$/\1/p')
echo start at: $_seg_num
echo sleep: $_sleep
_audio_head=$(echo "$_audio_m3u8"|grep '#EXT-X-MAP:URI="'|sed -n 's#.*URI="\(.*\)"$#\1#p')
_video_head=$(echo "$_video_m3u8"|grep '#EXT-X-MAP:URI="'|sed -n 's#.*URI="\(.*\)"$#\1#p')
_audio_head=${_audio_head:$((${#_dir_r}-1))}
_video_head=${_video_head:$((${#_dir_r}-1))}
echo download video header $_video_head
curl -s -H 'User-Agent: VLC' "$_base$_dir_r$_video_head" -o "$_dir/$_video_head"
echo download audio header $_audio_head
curl -s -H 'User-Agent: VLC' "$_base$_dir_r$_audio_head" -o "$_dir/$_audio_head"
while :
do
echo download seq: $_seg_num
curl -s -H 'User-Agent: VLC' "$_base$_dir_r$_sub_uri-$_seg_num.webvtt" -o "$_dir/$_sub_uri-$_seg_num.webvtt"
curl -s -H 'User-Agent: VLC' "$_base$_dir_r$_video_uri-$_seg_num.m4s" -o "$_dir/$_video_uri-$_seg_num.m4s"
curl -s -H 'User-Agent: VLC' "$_base$_dir_r$_audio_uri-$_seg_num.m4s" -o "$_dir/$_audio_uri-$_seg_num.m4s"
echo "#EXTINF:2.88, no desc" >> "$_dir/video.m3u8"
echo "$_video_uri-$_seg_num.m4s" >> "$_dir/video.m3u8"
echo "#EXTINF:2.88, no desc" >> "$_dir/audio.m3u8"
echo "$_audio_uri-$_seg_num.m4s" >> "$_dir/audio.m3u8"
echo "#EXTINF:2.88, no desc" >> "$_dir/sub.m3u8"
echo "$_sub_uri-$_seg_num.webvtt" >> "$_dir/sub.m3u8"
_seg_num=$((_seg_num+1))
sleep $_sleep
done
Alles anzeigen
_url | sender url |
_dir | wo gespeichert werden soll |
paar info:
warum die frage und nicht einfach testen?
Weil sich mit den Optionen herumgespielt habe und sich mir die Funktionsweise trotzdem noch nicht erschlossen hat. Ich habe z.B. nur die erste Audiospur ausgewählt und die zweite auf "None" gesetzt. Die restlichen Optionen sind alle auf den default-Werten. Es sind also keine ffmpeg pipe-Befehle gesetzt.
Lade ich die Telerising .m3u playlist dann in VLC, kann ich dort trotzdem sämtliche Tonspuren auswählen, die blueTV im original Stream mitschickt.
Oder ist die Option in Telerising nur gedacht, um damit die Reihenfolge der Tonspuren zu beeinflussen? Also manuell eine bestimmte Tonspur als Default zu setzen?
Das ist nur die Reihenfolge/Sortierung der Tonspuren
Lade ich die Telerising .m3u playlist dann in VLC, kann ich dort trotzdem sämtliche Tonspuren auswählen, die blueTV im original Stream mitschickt.
kodi und vlc bekommen immer alle audiospuren
Das ist nur die Reihenfolge/Sortierung der Tonspuren
Gilt aber nur für ffmpeg und andere Player abseits von Kodi/VLC/M3U IPTV inkl. der Begrenzung auf max. zwei Audiospuren, sofern kein Custom Pipe-Befehl eingestellt worden ist.
kodi und vlc bekommen immer alle audiospuren
Weil VLC die Spuren gezielt selektieren kann, während bei ffmpeg jeder weitere Track für zusätzliche Verzögerungen beim Umschalten sorgt und der Stream ggf. instabil läuft, wenn alle Spuren weitergereicht werden sollen. Es wird via Telerising auch nur die selektierte Videospur freigegeben, ansonsten wäre die Verzögerung bei ffmpeg noch größer.
Könnte man im CP benutzerdefinierte EPG-Dateien (XMLTV) zum jeweiligen Anbieter hinzufügen, sodass diese in der M3U8 vorhanden sind?
In der Regel können einige Player wie Ultimate IPTV Loader die EPG-Daten laden und anzeigen.
Syntax der M3U8:
Beispiel mit mehreren Einträgen:
Kann zum Beispiel für Teleboy verwendet werden:
Eine EPG-Quelle ist unter epgshare01.online/epgshare01/ zu finden.
Teleboy verwendet teilweise veraltete ID's, bei "Nitro.ch" wird noch "RTLNitro.ch" verwendet, von daher kann EPG mit falscher Kennung nicht geladen werden.
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!