これらが何であるかについてのオンライン説明はないようです。人々は彼らについて多くのことを話します。それらが何であり、なぜ重要なのかを知りたいだけです。 -video_track_timescaleを使用して、その数値をどのように決定しますか?ランダムですか? 0にすべきですか?
最新のコンテナは、フレームレートではなくタイムスタンプを使用して、ビデオ(およびオーディオ)フレームのプレゼンテーションの時間コンポーネントを管理します。そのため、ビデオを25 fpsとして記録するのではなく、各フレームを0.04秒間隔で描画する必要があることを暗示する代わりに、各フレームのタイムスタンプを保存します。
Frame pts_time
0 0.00
1 0.04
2 0.08
3 0.12
...
これらの時間値の正確な解決のために、タイムベース、つまり、クロックの1ティックを表す時間単位が使用されます。したがって、タイムベースは1/75
は1/75秒を表します。 [〜#〜] p [〜#〜]再送信[〜#〜] t [〜#〜] ime [〜#〜] s [ 〜#〜]このタイムベースの観点からタンプが指定されます。タイムスケールは、単にタイムベースの逆数です。 FFmpegは、ストリームの読み出しでtbn
値としてタイムスケールを表示します。
Timebase = 1/75; Timescale = 75
Frame pts pts_time
0 0 0 x 1/75 = 0.00
1 3 3 x 1/75 = 0.04
2 6 6 x 1/75 = 0.08
3 9 9 x 1/75 = 0.12
...
時間を調整するこの方法により、可変フレームレートのビデオが可能になります。