-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Frame Timestamp Mismatch in Bag Playback (Color Frame Offset by One Frame) #71
Comments
Actually, I did more tests, and I understand that the last stream I enable in the recorder is the one that won't have the same timestamps as the other streams. config.enable_stream(ir_profile) I get this in the playback: |
I will reproduce and test the issue based on your feedback next week. |
@CBadam This is a bug in the Orbbec SDK C++ library. Frame synchronization is not supported during playback. We will fix this issue in a future C++ version. After the fix is applied, you will be able to enable frame synchronization in your playback code to resolve the issue. pipeline.enable_frame_sync() //add this code |
After the bug is fixed, I will notify you in this issue. |
@zhonghong322 Thank you for your response. |
Description: I am using the pyorbbecsdk with a Femto Mega camera to record and playback data. The issue arises when recording data with recorder.py (activating both depth and color sensors) into a bag file, and then playing it back using the playback.py example. I observe that the color frame and depth frame in each frameset do not share the same timestamp during playback.
It appears that the color frame corresponds to the depth frame of the next frameset, leading to mismatches between depth and color frames. This becomes a significant problem when trying to save colored point clouds, as the color and depth data from different frames do not align correctly, resulting in inaccurate visualizations.
Below is an example of how I am testing playback with the playback.py:
Output Example:
index= 0: color_timestamp=2193546
index= 0: depth_timestamp=2193345
index= 1: color_timestamp=2193747
index= 1: depth_timestamp=2193546
As you can see, there is always a one-frame offset between the color and depth timestamps, with the color frame lagging behind the corresponding depth frame.
Here is the code for how I recorded the data:
Additional Notes:
When I activate the infrared (IR) sensor alongside depth and color, the IR frame inherits the one-frame delay, and the depth and color frames align with each other.
The issue seems to arise only during playback, as the timestamps match correctly during recording.
I would greatly appreciate any insights or solutions to ensure that depth and color frames are synchronized during playback, allowing for proper point cloud generation.
Thank you!
The text was updated successfully, but these errors were encountered: