video - ما هو النطاق الزمني للفيديو أو الإطار الزمني أو الطابع الزمني في ffmpeg؟



codec (1)

لا يبدو أن هناك أي تفسير على الإنترنت لما هي هذه. يتحدث الناس عنهم كثيرا. أريد فقط أن أعرف ما هي ولماذا هي مهمة. باستخدام -video_track_timescale ، كيف يمكنني تحديد رقم له؟ هل هو عشوائي؟ يجب أن يكون 0؟


تتحكم الحاويات الحديثة في المكون الزمني لعرض إطارات الفيديو (والصوت) باستخدام الطوابع الزمنية ، بدلاً من الإطارات. لذلك ، بدلاً من تسجيل مقطع فيديو على شكل 25 إطارًا في الثانية ، وبالتالي يعني أنه يجب التمييز بين كل إطار و 0.04 ثانية ، فإنهم يخزنون طابعًا زمنيًا لكل إطار على سبيل المثال

 Frame      pts_time
   0          0.00
   1          0.04
   2          0.08
   3          0.12
   ...

من أجل الدقة الدقيقة لهذه القيم الزمنية ، يتم استخدام قاعدة زمنية ، أي وحدة زمنية تمثل علامة ساعة واحدة ، كما كانت. لذلك ، يمثل الجدول 1/75 من الثانية. ثم يتم تصنيف P tente T tamps في حالة الجدول الزمني هذه. Timescale هو ببساطة المتبادل من timebase. يُظهر 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
   ...

تسمح طريقة تنظيم الوقت هذه بالفيديو المتغير بمعدل الإطارات.





codec