Skip to content
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

Feature/capture magewell #8

Merged
merged 69 commits into from
Aug 21, 2024
Merged

Conversation

PotatoPeeler3000
Copy link
Collaborator

@PotatoPeeler3000 PotatoPeeler3000 commented Jul 30, 2024

This PR adds the ability to capture videos and log them properly with a different capture device. The specific implementation is called Magewell. ExampleMagewellCapture and ExampleMagewellVideoDataPlayer provide a simple implmentation of how to record and view a video.
To keep things clear the previous implementation is now all labeled as Blackmagic, and there is a GStreamer logger added as well which doesn't yet work but is there for future development
Most of the other changes was updating print statments and passing the new camera option through all the classes.

The accompanying PR for SCS2 is here: ihmcrobotics/simulation-construction-set-2#183 and explains how logs get viewed with the new magewell capture, cropping works as well.

PotatoPeeler3000 and others added 30 commits January 25, 2023 10:36
…ta for the MOV container. Vidoe doesn't get saved properly but this is the correct pipeline.
… mp4. Runs for 10 seconds with no frame capture.
@PotatoPeeler3000 PotatoPeeler3000 removed the request for review from SylvainBertrand August 2, 2024 19:32
@ds58
Copy link
Contributor

ds58 commented Aug 7, 2024

Can you add me back as a review when it's ready?

@ds58 ds58 requested review from ds58 and removed request for ds58 August 7, 2024 21:42
recorder.setVideoOption("tune", "zerolatency");
recorder.setVideoCodec(avcodec.AV_CODEC_ID_MPEG4);
recorder.setFormat("mov");
recorder.setFrameRate(60);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is it important that the grabber and recorder use the same frame rate? If it is, should you make a variable called framerate and pass that in, to future proof against some dummy trying to change the rate?

PotatoPeeler3000 added a commit to ihmcrobotics/simulation-construction-set-2 that referenced this pull request Aug 21, 2024
This PR allows for viewing videos and logs recorded with a Magewell
capture device. Unfortunately videos recorded with Magewell can't be
played back with the previous implementation so a specific magewell one
had to be made resulting in the following interface `VideoDataPlayer`
which has specific implementations for Magewell and Blackmagic.
This follows the logger PR to enable logging with
ihmcrobotics/ihmc-robot-data-logger#8

---------

Co-authored-by: nkitchel <nkitchel@ihmc.us>
Co-authored-by: ds58 <30220598+ds58@users.noreply.github.com>
# Conflicts:
#	src/test/java/us/ihmc/robotDataLogger/captureVideo/ExampleGStreamerUbuntuCapture.java
#	src/test/java/us/ihmc/robotDataLogger/captureVideo/ExampleMagewellVideoDataPlayer.java
#	src/test/java/us/ihmc/robotDataLogger/captureVideo/MagewellDemuxerFrameExistsTest.java
@ihmcrobotics ihmcrobotics deleted a comment from rjgriffin42 Aug 21, 2024
@ihmcrobotics ihmcrobotics deleted a comment from ds58 Aug 21, 2024
@ihmcrobotics ihmcrobotics deleted a comment from ds58 Aug 21, 2024
@PotatoPeeler3000 PotatoPeeler3000 merged commit 426167a into develop Aug 21, 2024
2 checks passed
@PotatoPeeler3000 PotatoPeeler3000 deleted the feature/capture-magewell branch August 21, 2024 18:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants