Closed hohonuuli closed 2 years ago
Requested additional resources (another coder) to work on this.
Ran into an issue with tapes. When the RS422 connection starts, it activates the decklink card and the card will appear in AVFoundation. We can set the "Blackmagic Decklink SDI" card in settings and it will stick until settings is reopened. Users can then use framecpature with no issues. (Except first frame is black. Need to take empty frame whenever AVFoundationImageCapture is initialized). The Blackmagic device will disappear until VARS connects via RS422. Very confusing for the users.
Another issue. When we use the Decklinks cards RS422 port, we can't connect using the Blackmagic API as it will detect the card as in use already. So we can't use that RS422 port and our shiny blackmagic design image capture API.
When using blackmagics external boxes (rather than PCI card) we may run into the same VCR control/image capture API issue where the image capture sees the device as already in use. So it won't work with it.
So, the lowest hanging fruit for now is to get the blackmagic API working with real-time annotations.
We're having issues with blackmagic devices using the CamTwist/Syphoon setup.
For tapes without epoch seconds written to the userbits, a framegrab would have a timestamp of 1970-01-01T00:00:00:00
. The image files are named time_idx--video_reference_uuid.ext
. The time-idx was would be which ever of these was found first: recorded_timestamp, timecode, elapsedtime. Since the recorded_timestamp was always the same, it would be submitting the same name to panoptes over and over. Panoptes would say no way
as this image URL already exists, causing an error in the annotation app. The fix was to switch the time-idx lookup order to:
New VARS app just now, restarted computer, Black Siphon, Simple Client, CamTwist open, frame grabs folder mounted. Can't frame grab from D1003 (01/12/2018 dive), or V3473 (12/17/2009 dive)
Ok. I have no trouble framecapturing from D1003-04HD using the same setup. I'll stop by to see what's going on.
Note: You do not need to mount the framegrabs folder. That's no longer used by VARS.
Note from Kyra:
I tested frame capture from tape on my machine and it is working.
1) On ALL computers (even those that are using the capture card (not the Black Magic external capture box), like the left hand one in the digital lab, you still need to use the applications Black Syphon and CamTwist. These apps have been added to that computer.
2) In VARS preferences, reset the Image Capture Input to MacOs native and Cam Twist every time you reinstall a new version of VARS.
3) USER must be selected before the frame grab icon becomes usable.
In the latest version of the BlackMagic designs SDK they provide a sample app called CaptureStills that might solve this issue. I built it and called it from python and java and it works great, grabs images without issues. You might want to try this again this demo did not exist before.
Blackmagic support has been implemented in a separate MBARI internal project (libbmagic). Support for it has been added to VARS.
We were using AVFoundation to capture images from video feeds into Blackmagic Designs hardware. That doesn't work anymore. Blackmagic is pushing everyone to use their C++ SDK. VARS needs a framecapture implementation for their SDK. This is only to support real-time and tape annotations. For video annotations, framecapture is implemented in Sharktopoda and jsharktopoda.