2017-06-28 3 views
0

Bonjour. J'ai une vidéo Flowplayer avec des cuepoints ex [5, 10]. Ici, ma vidéo commence à la 5ème seconde et marque une pause à la 10ème seconde. Donc ça marche. Cependant, la vidéo s'arrête parfois à la 9e seconde et parfois à la 10e seconde. Donc ça ressemble à un bug flowplayer.Flowplayer fait une pause à différents moments avec cuepoint

J'apprécierais un conseil ou une solution, comment je peux faire la pause de vidéo toujours à l'heure exacte chaque fois.

ici est l'extrait de code

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(); 
     }; 
     }) ; 

Merci

Répondre

1

Je ne l'ai pas utilisé la fonction cuePoints de Flowplayer, mais je suis au courant de la fonction API seek() vous permet de spécifier le temps (en secondes) dans la vidéo que vous aimeriez chercher.

Pour que la fonction de recherche fonctionne correctement, votre vidéo doit disposer d'une image clé à chaque seconde de la vidéo. J'ai l'impression que les points de repère auraient la même exigence.

Si vous êtes familier avec ffmpeg, vous pouvez utiliser le paramètre « force_key_frames » comme cette façon d'ajouter une image clé à chaque seconde de la vidéo -

ffmpeg -i input_file_location -force_key_frames « expr: gte (t, n_forced * 1) » other_ffmpeg_parameters -y output_file_location

l'inconvénient d'ajouter des images clés supplémentaires est que votre vidéo occupera plus d'espace sur le disque, mais si vous avez besoin de la vidéo pour mettre en pause (ou) commencent toujours aux moments spécifiés, je ne peux pas penser de toute autre manière en utilisant la version HTML5 de Flowplayer.

1

Merci pour votre réponse ami91. Voici ce que j'ai obtenu de développeurs de flowplayer:

Il y a une limite à la granularité de l'événement de progression (pour des raisons de mémoire) de 250ms qui déclenche les événements cuepoint. La vidéo que vous utilisez a une fréquence d'images de 25 ips, donc un point de repère de 7,0 se trouve exactement sur la bordure de trame, et peut donc être déclenché trop tôt si l'événement de progression déclenchant le point de repère est inférieur à Le réglage du cuepoint un peu plus tard devrait avoir l'effet désiré. Vous n'obtiendrez pas une précision totale parce que vous déclenchez un événement toutes les 0,04 secondes - ou même plus

Donc, je viens d'ajouter 0,5 seconde à la fin de la vidéo.

+0

C'est bon à savoir. Merci de partager votre approche pour résoudre ce problème! – ami91