1

ffplay で左/右矢印を使用してシーク機能がどのように機能するかを理解しようとしています。オープン ソース コードの内部に入り、値を 10、-10 から別の値に変更しようとしたので、シークが正しく動くかどうかを確認できます。しかし、いくつかの試行の後、左または右の矢印を使用した後の映画の位置が、指定した値に正確に移動していないことがわかりました。

たとえば、デフォルト値の 10 を使用し、映画が 00:10:00 にあった場合、映画を 00:20:00 に移動すると想定される右矢印を押した後、00:21:35 のようなものが得られました。一定ではありませんでした。

私はさまざまな映画でそれを試しましたが、毎回異なる結果が得られました。

誰かが私が間違っていることを知っていますか? または、シークがffplayでどのように機能するかを説明できますか?

4

1 に答える 1

1

ビデオ シークの精度はさまざまな要因に依存しますが、主に PTS、DTS、および GOP 長です。GOP (Group of Pictures) は I フレーム (または固定画像) で始まります。シークするときは、PTS (プレゼンテーション タイムスタンプ) が 20 より大きい最も近い I フレームを見つけようとしているだけです。さらに複雑なのは、すべてのビデオの GOP の長さが固定されているわけではないことです (クローズド GOP とも呼ばれます)。異なる位置でさらに数秒追加しても、常に 11.35 秒追加されるわけではありません。

GOP に関するこの記事をチェックしてください http://en.wikipedia.org/wiki/Group_of_pictures

于 2013-07-16T07:58:17.300 に答える