Jugular: HTML 5 Video Untertitel verbleiben im Cache

Hallo,

ich habe (mithilfe eines anderen SelfHTML Threads KLICK) Ein Script erstellt, was mehrere Kurze Videos hintereinander abspielt. Beim Versuch die Untertitel einzubinden, tritt allerdings das Problem auf, dass die Untertitel der Ersten Datei auch bei der Zweiten Datei mit angezeigt wird. Ab der Dritten Datei ändert sich nichts mehr. Jemand eine Idee, wieso das so ist??

  
</br>  
	<video id="ews" width="720" height="540" controls>  
		<source id="vidsrc" src="video/ews_001.mp4" type="video/mp4"/>  
		<track id="vidsub" src="video/ews_001_de.vtt" srclang="de" label="Deutsche Untertitel" kind="subtitles" default>  
		Your user agent does not support the HTML5 Video element.  
	</video>  
	</br>  
<button type="button" onclick="vid_play_pause()">Play/Pause</button>  
<button type="button" onclick="vid_next()">>></button>  
				<script type="text/javascript">  
				var vidcount = 1;  
				document.getElementById('ews').addEventListener('ended',vid_next,false);  
				function vid_next(e) {  
					if(!e) { e = window.event; }  
					vidcount = vidcount + 1;  
					if (vidcount <= 9){  
						var nextvid = "video/ews_00" + vidcount + ".mp4";  
						var nextsub = "video/ews_00" + vidcount + "_de.vtt";}  
					if (vidcount >= 10 && vidcount <= 99) {  
						var nextvid = "video/ews_0" + vidcount + ".mp4";  
						var nextsub = "video/ews_0" + vidcount + "_de.vtt";}  
					if (vidcount >= 100) {  
						var nextvid = "video/ews_" + vidcount + ".mp4";  
						var nextsub = "video/ews_" + vidcount + "_de.vtt";}  
						document.getElementById('vidsub').removeAttribute('src');  
						document.getElementById('vidsrc').setAttribute('src', nextvid);  
						document.getElementById('vidsub').setAttribute('src', nextsub);  
						document.getElementById('ews').load();  
						document.getElementById('ews').play();  
				}  
				function vid_play_pause() 	{  
				  if (document.getElementById("ews").paused)  
					{  
					document.getElementById("ews").play();  
					} else 	{  
					document.getElementById("ews").pause();  
							}  
											}  
				</script>
  1. Hallo Jugular

    Beim Versuch die Untertitel einzubinden, tritt allerdings das Problem auf, dass die Untertitel der Ersten Datei auch bei der Zweiten Datei mit angezeigt wird. Ab der Dritten Datei ändert sich nichts mehr. Jemand eine Idee, wieso das so ist??

    Das WebSRT file ist eine Textdatei. Entsprechend wäre „src="text/ews_001_de.vtt"“ richtig.

    Der Fehler könnte aber auch in der WebVTT Datei selbst liegen.

    Beste Grüsse Richard

    1. Das WebSRT file ist eine Textdatei. Entsprechend wäre „src="text/ews_001_de.vtt"“ richtig.

      "video/ews_001_de.vtt" ist nur eine Textdatei im Ordner Video. Eine Änderung hätte keine Auswirkung denke ich.

      Die webvtt Datei ist eigentlich sauber.

      Ich befürchte er lädt die ersten vtt immer wieder mit.

      document.getElementById('vidsub').removeAttribute('src'); brachte leider nicht den gewünschten Erfolg.

      1. Hallo Jugular

        Das WebSRT file ist eine Textdatei. Entsprechend wäre „src="text/ews_001_de.vtt"“ richtig.

        "video/ews_001_de.vtt" ist nur eine Textdatei im Ordner Video. Eine Änderung hätte keine Auswirkung denke ich.

        Ich denke schon. Jedenfalls würde ich hier mit der Fehlersuche beginnen. Deine Fehlerbeschreibung legt doch die Vermutung nahe, dass die Ressource nicht richtig interpretiert wird.

        Mit besten Grüssen Richard

        1. Hallo Jugular

          Ich denke schon. Jedenfalls würde ich hier mit der Fehlersuche beginnen. Deine Fehlerbeschreibung legt doch die Vermutung nahe, dass die Ressource nicht richtig interpretiert wird.

          Als Ergänzung: „A WebVTT file must consist of a WebVTT file body encoded as UTF-8 and labeled with the MIME type text/vtt. [RFC3629]“

          Mit besten Grüssen Richard

          1. Ok Danke.  Wenn dann macht es aber nur als type=text/vtt Sinn. Src ist ja nur eine verlinkung auf die Datei. Ich Probiere es gleich mal

            1. Hallo Jugular

              Wenn dann macht es aber nur als type=text/vtt Sinn.

              Nein, was Sinn macht, bestimmt Hixie oder in dem Fall eher Silvia Pfeiffer aus Down Under. Das src bleibt!

              Beste Grüsse Richard

              1. Nein, was Sinn macht, bestimmt Hixie oder in dem Fall eher Silvia Pfeiffer aus Down Under. Das src bleibt!

                Ob und was Sinn macht, geb ich dir recht ;) geholfen hat aber auch die Type definition nicht :(
                <track id="vidsub" src="video/ews_001_de.vtt" srclang="de" type="text/vtt" label="Deutsche Untertitel" kind="subtitles" default/>

                vielleicht noch eine Idee? Ist es vielleicht möglich, dass man eine Große Datei für Untertitel nimmt und immer nur bestimmte Bereiche den Filmschnipseln zuteilt??

                1. Hallo Jugular

                  vielleicht noch eine Idee? Ist es vielleicht möglich, dass man eine Große Datei für Untertitel nimmt und immer nur bestimmte Bereiche den Filmschnipseln zuteilt??

                  Schon mal versucht anstelle deines „<track id="vidsub" src="video/ews_001_de.vtt" srclang="de" label="Deutsche Untertitel" kind="subtitles" default>“

                  „<track id="vidsub" src="text/ews_001_de.vtt">“  zu verwenden? Ein label brauchst ja kaum und Subtitel verwendest du vermutlich auch nicht. Achte auf „text“ statt „video“!

                  Beste GrüsseRichard

                  1. Hallo,

                    <track id="vidsub" src="text/ews_001_de.vtt">
                    Achte auf „text“ statt „video“!

                    nein, und nochmal nein! Wenn die Untertitel-Datei wirklich im Verzeichnis ./video liegt, ist auch nur dieses Verzeichnis in der Pfadangabe sinnvoll! Und eine Untertitel-Datei in dasselbe Verzeichnis zu legen, in dem auch die zugehörige Videodatei liegt, halte ich durchaus für vernünftig.

                    Ciao,
                     Martin

                    --
                    In sein ist schon längst wieder out.
                    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
                    1. Schon mal versucht anstelle deines „<track id="vidsub" src="video/ews_001_de.vtt" srclang="de" label="Deutsche Untertitel" kind="subtitles" default>“ „<track id="vidsub" src="text/ews_001_de.vtt">“  zu verwenden? Ein label brauchst ja kaum und Subtitel verwendest du vermutlich auch nicht. Achte auf „text“ statt „video“!

                      Das Label brauche ich leider doch, da ich auch die englischen Untertitel mit einbinden will. Mit dem kind="subtitel" wird definiert, dass es sich um Untertitel handelt. >Klick<

                      <track id="vidsub" src="text/ews_001_de.vtt">
                      Achte auf „text“ statt „video“!

                      nein, und nochmal nein!...

                      Ganz so drastisch wollte ich es nicht sagen ;) Aber recht hast du. Das src Attribut muss schon den Wert haben, den er hat. Vielleicht sollte ich den "Video" Ordner einfach mal in "Data" umbenennen, um der Verwirrung entgegen zu wirken.

                      1. Danke euch beiden.... Problem hat sich gerade gelöst... Wer seine blöden Untertitel Dateien richtig benennt (ohne Leerzeichen vor dem .), spart sich 3 Tage Arbeit um Untertitel aus dem Cache löschen zu wollen und so :P

                        Aus Fehlern lernt man :)