I annotated a video using ELAN. Additionally, I used other software to analyze the video. Now ELAN gives me the annotations in ms since the start of the video. However, the other software gives out results with frames as ‘time-axis’.
I guess ELAN extracted 15 frames/sec from the video properties. However, this is not an exact number and times between frames can slightly vary. Also, this number is rounded and will therefore lead to a mismatch between the real time and time shown in ELAN. Is there any way to extract the frames instead of milliseconds from ELAN?
Otherwise, if not, do I get clostest to the right result if I divide the video length in ELAN by the total frame number and take the result as the average time between two frames? Or is there a more exact option?
ELAN offers a few frame-based time formats in some viewers and in some export functions: PAL, PAL-50 and NTSC. There is currently no generic, frame rate independent, frame based time format (I believe it is on the wishlist).
If ELAN supported such format, it would probably do something similar to what you suggest; try to get the most accurate frame rate value and use that for the calculation (should be similar to your total duration, total number of frames approach).
There might be formats where different approaches are required (e.g. drop frame), that wouldn’t be covered by a generic re-calculation.
I have the same problem; i.e., I have annotated several videos but due to the variable fps that was caused by a legacy frame capture software, the created time markers do not correspond to correct time offset from the video start time. Is there any way to export the beginning and end frame numbers to a text file or at least observe the frame number next to the time stamp during playback? Any help or hints for having access to such an option is highly appreciated.
The situation is still as described in my previous reply; the only (partly) frame-based time formats available in the user interface and in some export options are PAL, PAL-50 and NTSC. The output in those formats is still hours:minutes:seconds:frames, so not a single frame number.
Most (probably all) media frameworks that ELAN relies on (different per operating system) only allow to retrieve and set media positions in some kind of time unit (e.g. in seconds as a decimal number, in nanoseconds or in units of 100-nanoseconds etc.), not by frame number. So there is no direct way to tell the player to jump to frame 2238 e.g., or to ask the player the frame number of the current video frame. The only way to approximate that would be to calculate a frame number, accepting rounding effects.
That kind of approximation to a single frame number is (still) not available in ELAN’s user interface during playback or in ELAN’s export options.