Re: [FFmpeg-user] best_effort_timestamp_time
> (Assuming the camera does not use FFmpeg as firmware > which is very unlikely.) > You have a problem here. > The input you are analyzing is not the stream that was > created by the traffic camera but a file created with FFmpeg. > So while there may absolutely be an issue (that we may or > may not be able to fix), this file cannot be used to prove > anything in court, I strongly suggest you do not try. > > The camera either produced a network stream or a raw > H.264 stream. You hopefully still have access to it and > FFmpeg may help you analyzing it. > (Although H.264 timestamps are a known issue with > FFmpeg and who knows if the camera manufacturer > did any better with them than we did.) Sorry - too much experimenting by me. In order to quicken the analysis, I cropped the original video with ffmpeg using "-vcodec copy -acodec copy" ... So this is the output for the original video (I am on another computer now, running a slightly older version of ffmpeg) - the original question however remains the same: ffprobe -show_frames -show_entries frame=best_effort_timestamp_time,key_frame,pict_type -i original.avi -of compact ffprobe version 3.2.2 Copyright (c) 2007-2016 the FFmpeg developers built with gcc 5.4.0 (GCC) configuration: --enable-gpl --enable-version3 --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib libavutil 55. 34.100 / 55. 34.100 libavcodec 57. 64.101 / 57. 64.101 libavformat57. 56.100 / 57. 56.100 libavdevice57. 1.100 / 57. 1.100 libavfilter 6. 65.100 / 6. 65.100 libswscale 4. 2.100 / 4. 2.100 libswresample 2. 3.100 / 2. 3.100 libpostproc54. 1.100 / 54. 1.100 [avi @ 002eaee0] sample size (1) != block align (2) Input #0, avi, from 'C:\Temp\___Motorradvideo\20150424_20_0301.avi': Duration: 00:05:01.00, start: 0.00, bitrate: 437 kb/s Stream #0:0: Video: h264 (Constrained Baseline) (H264 / 0x34363248), yuv420p(progressive), 704x576, 304 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.00 frame|key_frame=1|best_effort_timestamp_time=0.060125 frame|key_frame=1|best_effort_timestamp_time=0.00|pict_type=I frame|key_frame=1|best_effort_timestamp_time=0.120250 frame|key_frame=1|best_effort_timestamp_time=0.180375 frame|key_frame=0|best_effort_timestamp_time=0.17|pict_type=P frame|key_frame=1|best_effort_timestamp_time=0.240500 frame|key_frame=1|best_effort_timestamp_time=0.300625 frame|key_frame=1|best_effort_timestamp_time=0.360750 frame|key_frame=0|best_effort_timestamp_time=0.33|pict_type=P frame|key_frame=1|best_effort_timestamp_time=0.420875 frame|key_frame=1|best_effort_timestamp_time=0.481000 frame|key_frame=1|best_effort_timestamp_time=0.541125 frame|key_frame=0|best_effort_timestamp_time=0.50|pict_type=P frame|key_frame=1|best_effort_timestamp_time=0.601250 frame|key_frame=1|best_effort_timestamp_time=0.661375 frame|key_frame=0|best_effort_timestamp_time=0.67|pict_type=P frame|key_frame=1|best_effort_timestamp_time=0.721500 frame|key_frame=1|best_effort_timestamp_time=0.781625 frame|key_frame=1|best_effort_timestamp_time=0.841750 frame|key_frame=0|best_effort_timestamp_time=0.83|pict_type=P frame|key_frame=1|best_effort_timestamp_time=0.901875 frame|key_frame=1|best_effort_timestamp_time=0.962000 frame|key_frame=1|best_effort_timestamp_time=1.022125 frame|key_frame=1|best_effort_timestamp_time=1.00|pict_type=I ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
[FFmpeg-user] best_effort_timestamp_time
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 libavformat58. 0.100 / 58. 0.100 libavdevice58. 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 libpostproc55. 0.100 / 55. 0.100 Input #0, avi, from 'C:\Temp\Motorradvideo\20150424_20_0301_crop.avi': Metadata: encoder : Lavf55.0.100 Duration: 00:00:05.00, start: 0.00, 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.00 pict_type=I [/FRAME] [FRAME] key_frame=1 best_effort_timestamp_time=0.00 [/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.17 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] ... ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".