We are having an issue with what ELAN detects as the earliest time point of the video, with different effects across different devices and video types. When using .mp4 videos, different devices and different OS show different start times for the video. In other words, when going to the very earliest possible time point in the video, some devices/OS will go to zero, other devices/OS start at 33ms, others start at 66ms. All mac devices will go to zero. A Dell PC running Windows 10 will start at 66ms and a Dell PC running Windows 8 will start at 33 ms. The video and corresponding annotation times shift according to the device. So for instance if you have an annotation at 1.00.000 for a given gesture and you open the file on a different device, the same video and annotation file will show the gesture beginning at 1.00.033 on one device and at 1.00.066 on another device. The video is also offset by the relevant amount, so the same frame occurs at 1.00.000 on one device, 1.00.033 on another device and 1.00.066 on the third. This occurs across multiple videos of the .mp4 file type, but if we switch to a .mov file, then all devices zero at 0ms. Unfortunately, many of the devices freeze when using the .mov files, so we’re hoping to find a resolution to be able to use the .mp4 files, but as is, it is extremely difficult to compare annotations across devices because the stamps are not comparable across devices. Any help is much appreciated.
Yes, this issue is reported and discussed (but not solved) in this post. There hasn’t been a follow up on the suggestion there. We’ll try to re-encode an mp4 which doesn’t start at 0 on Windows (in the JMMF Player) and see if there is a way to ensure the file always starts at 0.
If the performance of the JavaFX Player is acceptable (it has improved in recent versions), this might be a cross-platform alternative for the default players?
-Han
Thanks for this help. I tried re-encoding the video file following the guide posted to the previous post and I’ve tried changing the underlying media player and I am still getting the same behavior. I originally used adobe premier to convert the videos from mov to mp4. I tried using the adobe media encoder to convert from mov to mp4. Re-encoding the files didn’t seem to make a differences. I’m also getting the same behavior with files that were originally mp4 files that haven’t been converted. I’ve tried changing to the Java. Java FX, and the VLC player and regardless of encoding and regardless of player, I am still getting the same behavior. The only difference is that .mov files will start at 0 and mp4 files start at either 0ms, 33ms, or 66ms, depending on device. Let me know if there is anything else you want me to try or check.
Thanks,
Karee
Update: changing the media player worked after all. However, changing the media player and applying the changes wasn’t sufficient. I had to change the media player, apply the changes, close ELAN, and reopen and then changing the player resolved the time offset. Using the VLC player for the PCs seems to work best. Thanks again for the help!
Yes, changing the preferred media player has an effect on windows that are opened after the change, not on already open windows.
Some settings have an icon to the right to indicate that a relaunch of ELAN is required for the setting to take effect. The preferred framework setting does not require a relaunch, but does also not apply to already open windows; maybe we should have another icon to indicate this “in between” behavior.
An update about re-encoding: when we re-encoded an mp4 video which doesn’t start at 0 in the default JMMF Player with a value of 0 for the B-Frames setting (see also this media encoding guide), the resulting video does start at 0, so seems to behave better than the original.
