2

ビデオ処理にはlibavcodecを使用しています。

のドキュメントはAVStream->r_frame_rate言う

Real base framerate of the stream.
This is the lowest framerate with which all timestamps can be
represented accurately (it is the least common multiple of all
framerates in the stream). Note, this value is just a guess!

私はいくつかのmp4とaviビデオ(25fps)を試しましr_frame_rateたが、常に25 fpsを期待したとおりでした。それで、ドキュメント...is just a guess!に、常に正確なfpsが得られると書かれている理由を理解したいと思います。いつ変わるの?

4

1 に答える 1

2

多くのコンテナ、特にストリーミングコンテナ(mpeg-tsなど)はフレームレートを記録しません。また、多くのコンテナでは、可変フレームレートのビデオが可能です。ffmpegは、最初の数秒を調べてフレームをカウントすることにより、フレームレートを決定しようとします。ただし、フレームレートがストリーム全体で変化または変化すると、r_frame_rateが不正確になる可能性があります。

したがって、r_frame_rateは情報提供の目的に適した値です。ただし、各フレームのPTSを個別に確認することをお勧めします。

于 2013-11-21T19:18:32.850 に答える