Abhi/working-h264-passthrough#387
Open
vabhi2007 wants to merge 78 commits into
Open
Conversation
Introduces H264PassthroughSource for direct H264 streaming from cameras when supported, bypassing CPU encoding. Updates camera configuration files and parsing to include an 'opencv_enabled' flag, allowing selection between OpenCV-based and pass-through streaming. Refactors CameraStreamTask to handle both streaming modes and updates related data structures and logic accordingly.
Integrated GStreamer by finding the required packages and linking their include directories and libraries to the camera shared library. Added new source files CameraStreamProperties.cpp and H264PassthroughSource.cpp to the camera library.
…ies files Replaces the CameraStreamProperties helper and its header with direct OpenCV FileStorage usage for reading camera stream properties. Updates Camera.cpp and MissionControlTasks.cpp to construct stream properties inline, and moves the CameraStreamProperties struct definition to H264PassthroughSource.h. Also adds new config keys for image width and height in CameraConfig.h and modernizes the CMakeLists.txt for improved dependency and build configuration management.
Changed the format of the hand camera from 'image/jpeg' to 'video/x-h264' in the calibration config to support video streaming.
Update MissionControlTasks.cpp Update MissionControlTasks.cpp Update MissionControlTasks.cpp
This reverts commit 7a42eee.
Changed camera_id for hand and mast cameras to new values and enabled OpenCV for the wrist camera. These updates ensure correct device mapping and processing capabilities.
This reverts commit 64c9505.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR adds functionality for h.264 passthrough for cameras that directly output H. 264, along with camera format support for the existing MJPEG pipeline.
Main Improvements:
Added new GStreamer pipeline that pulls encoded NAL units directly from cam devices
Bypasses CPU decode and encode in the full ArUco OpenCV pipeline
Checks new opencv_enabled flag in camera config to use new/existing pipeline
New pipeline in h264PassthroughSource.cpp