2017-06-28 3 views
0

おはようございます。キューポイントex [5、10]を持つFlowplayerビデオがあります。ここで私のビデオは5秒から始まり、10秒で一時停止します。それは動作します。しかし、ビデオは時には9秒目に、時には10秒目に一時停止します。だから、フロープレイヤーのバグのように見えます。キューポイントによって異なる時間にフロープレーンが一時停止します

私はビデオをいつも正確な時に毎回一時停止させることができるヒントや解決策を感謝します。ここ

は私が前にFlowplayerのキューポイント機能を使用していない

答えて

1

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

ありがとうコードスニペットですが、私は(あなたが時間を指定場所求める()API機能に精通していますあなたが求めているビデオの中に、何秒もの時間を秒単位で表示します。

シーク機能が正しく機能するためには、動画の1秒ごとに動画にキーフレームが必要です。キューポイントには同じ要件があると感じています。

あなたはffmpegのに慣れている場合は、ビデオの毎秒にキーフレームを追加するには、この方法のように「force_key_frames」パラメータを使用することができます -

のffmpeg -i input_file_location -force_key_frames「式expr:GTE(追加のキーフレームを追加する* 1)」other_ffmpeg_parameters -y output_file_location

欠点n_forced tは、あなたの動画がディスク上に多くのスペースを占有しますが、ビデオが必要な場合は一時停止(または)一貫して開始するということです指定された時間に、私は考えることができませんFlowplayerのHTML5バージョンを使用する他の方法の

1

答えていただきありがとうございますami91。

キューポイントイベントをトリガする進捗イベント(メモリー上の理由による)の粒度には250msの制限があります。 使用しているビデオのフレームレートは25fpsです。したがって、7.0sのキューポイントはフレーム境界に正確に配置されているため、キューポイントをトリガする進行状況イベントが7.0より前の125ms未満の場合はトリガーが早すぎます。 キューポイントを後で少し設定すると、効果が得られるはずです。 0.04秒(またはそれ以上)ごとにイベントを発生させるため、完全精度は得られません

したがって、ビデオの最後に0.5秒追加しました。

+0

これは良いことです。この問題を解決するためにあなたのアプローチを共有してくれてありがとう! – ami91

関連する問題