2017-06-28 4 views
0

Guten Morgen. Ich habe ein Flowplayer Video mit Cuepoints ex [5, 10]. Hier beginnt mein Video von der 5. Sekunde und pausiert in der 10. Sekunde. So funktioniert es. Manchmal pausiert das Video jedoch in der 9. Sekunde und manchmal in der 10. Sekunde. Es sieht also aus wie ein Flowplayer-Bug.Flowplayer pausiert zu verschiedenen Zeiten mit cuepoint

Ich würde einen Hinweis oder eine Lösung schätzen, wie ich das Video immer zur richtigen Zeit immer pausieren lassen kann.

hier ist der Code-Schnipsel

flowplayer(flowplayerObject, { 
     hlsjs: { 
      xhrSetup: function (xhr) { 
      xhr.withCredentials = true; 
      } 
     }, 
     swf: ------, 
     swfHls: -------, 
     clip: { 
      cuepoints:[videoStartTime,videoEndTime], 
      sources: [ 
      {type: "application/x-mpegURL", src: -------l}, 
      {type: "video/mp4", src: -------} 
      ] 
     } 
     }).one("ready", function (e, api, video){ 
     api.seek(parseInt(videoStartTime)); 
     }).on("cuepoint", function (e, api, cuepoint) { 
     if (cuepoint.index === 1) { 
      api.pause(); 
     }; 
     }) ; 

Danke

Antwort

1

ich nicht die cuepoints Funktion von Flowplayer verwendet habe, aber ich bin mit der seek() API-Funktion vertraut, wo Sie die Zeit angeben (in Sekunden) in dem Video, das du suchen möchtest.

Damit die Suchfunktion ordnungsgemäß funktioniert, muss Ihr Video in jeder Sekunde des Videos einen Keyframe enthalten. Ich habe das Gefühl, dass Cuepoints die gleiche Anforderung haben.

Wenn Sie mit ffmpeg vertraut sind, können Sie die "force_key_frames" Parameter wie auf diese Weise verwenden, um einen Keyframe zu jeder Sekunde des Videos hinzufügen -

ffmpeg -i input_file_location -force_key_frames „ausdr: gte (t, n_forced * 1)“other_ffmpeg_parameters -y output_file_location

der Nachteil Hinzufügen zusätzlichen Keyframes ist, dass Ihr Video auf der Festplatte mehr Platz einnehmen wird, aber wenn Sie das Video müssen pausieren (oder) beginnt konsequent zu den angegebenen Zeiten kann ich nicht denken auf andere Weise mit der HTML5-Version von Flowplayer.

1

Danke für Ihre Antwort ami91. Das habe ich von flowplayer developers bekommen:

Es gibt eine Grenze für die Granularität des Fortschrittsereignisses (aus Speichergründen) von 250ms, das die Cuepoint-Ereignisse auslöst. Das von Ihnen verwendete Video hat eine Bildrate von 25 fps. Ein Cuepoint von 7.0s liegt also genau auf dem Frame Boarder und kann daher zu früh ausgelöst werden, wenn das Ereignis cuepoint unterhalb von 125ms vor 7.0 liegt. Den Cuepoint ein wenig später einzustellen sollte den gewünschten Effekt haben. Sie erhalten keine absolute Präzision, da alle 0,04 Sekunden ein Ereignis ausgelöst wird - oder sogar noch mehr

Also habe ich nur 0,5 Sekunden am Ende des Videos hinzugefügt.

+0

Das ist gut zu wissen. Vielen Dank, dass Sie uns bei der Lösung dieses Problems zur Seite stehen! – ami91

Verwandte Themen