Re: [FFmpeg-user] best_effort_timestamp_time

2018-01-17 Thread Wolfgang Hugemann
> (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

2018-01-16 Thread Wolfgang Hugemann

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".