[FFmpeg-user] best_effort_timestamp_time

Wolfgang Hugemann auto at hugemann.de
Tue Jan 16 12:21:39 EET 2018


Dear list members,

I am analysing a video from a security cam which has recorded a traffic 
accident. I want to calculate the speeds of the vehicles involved and 
therefore need the exact time gap between each two frames.

When analysing the video with ffprobe it turns out that the time gap is 
not constant, which is what I suspected from the space gaps between the 
vehicle positions in the frames.

I however wonder where 'best_effort_timestamp_time' stems from. "best 
effort" suggests that the timestamp cannot really be trusted (?).

In this very case, I will be able to test the video timing at the spot 
(using a turntable or alike as a target), but rather often, the cameras 
are already dismounted when I come into play, thus this is a question 
that matters when settling litigation issues ...

BTW: What are those frames that are neither I- nor P-frames?

Wolfgang Hugemann

Screen dump:

ffprobe -show_frames -show_entries 
frame=best_effort_timestamp_time,key_frame,pict_type input.avi

ffprobe version N-88042-g72c3d9ae45 Copyright (c) 2007-2017 the FFmpeg 
developers
   built with gcc 7.2.0 (GCC)
   configuration: --enable-gpl --enable-version3 --enable-sdl2 
--enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv 
--enable-libass --enable-libbluray --enable-libfreetype 
--enable-libmp3lame --enable-libopenjpeg --enable-libopus 
--enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora 
--enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp 
--enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg 
--enable-lzma --enable-zlib --enable-gmp --enable-libvidstab 
--enable-libvorbis --enable-cuda --enable-cuvid --enable-d3d11va 
--enable-nvenc --enable-dxva2 --enable-avisynth --enable-libmfx
   libavutil      56.  0.100 / 56.  0.100
   libavcodec     58.  0.100 / 58.  0.100
   libavformat    58.  0.100 / 58.  0.100
   libavdevice    58.  0.100 / 58.  0.100
   libavfilter     7.  0.100 /  7.  0.100
   libswscale      5.  0.100 /  5.  0.100
   libswresample   3.  0.100 /  3.  0.100
   libpostproc    55.  0.100 / 55.  0.100
Input #0, avi, from 'C:\Temp\Motorradvideo\20150424_200000_0301_crop.avi':
   Metadata:
     encoder         : Lavf55.0.100
   Duration: 00:00:05.00, start: 0.000000, bitrate: 418 kb/s
     Stream #0:0: Video: h264 (Constrained Baseline) (H264 / 
0x34363248), yuv420p(progressive), 704x576, 277 kb/s, 6 fps, 6 tbr, 6 
tbn, 12 tbc
     Stream #0:1: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 8000 Hz, 1 
channels, s16, 128 kb/s

[FRAME]
key_frame=1
best_effort_timestamp_time=0.000000
pict_type=I
[/FRAME]
[FRAME]
key_frame=1
best_effort_timestamp_time=0.000000
[/FRAME]
[FRAME]
key_frame=1
best_effort_timestamp_time=0.060125
[/FRAME]
[FRAME]
key_frame=1
best_effort_timestamp_time=0.120250
[/FRAME]
[FRAME]
key_frame=0
best_effort_timestamp_time=0.166667
pict_type=P
[/FRAME]
[FRAME]
key_frame=1
best_effort_timestamp_time=0.180375
[/FRAME]
[FRAME]
key_frame=1
best_effort_timestamp_time=0.240500
[/FRAME]
[FRAME]
key_frame=1
best_effort_timestamp_time=0.300625
[/FRAME]
[FRAME]
...



More information about the ffmpeg-user mailing list