mipops / dvrescue

Archivist-made software that supports data migration from DV tapes into digital files suitable for long-term preservation. Snapshot daily builds are at https://mediaarea.net/download/snapshots/binary/dvrescue/.
BSD 3-Clause "New" or "Revised" License
83 stars 19 forks source link

inconsistency between daily build cli and embedded cli in daily build of gui #739

Open dericed opened 8 months ago

dericed commented 8 months ago

cli version within daily build of gui

$ /Applications/dvrescue.app/Contents/Helpers/dvrescue --version
DVRescue v.0.21.11.20231012 (MediaInfoLib v.23.10) by MIPoPS.
Dave-Rices-Mac-Mini-M1-2020:build daverice$ /Applications/dvrescue.app/Contents/Helpers/dvrescue --list_devices_json
2023-10-12 15:05:04.306 dvrescue[58437:5446561] Error loading /Library/CoreMediaIO/Plug-Ins/DAL/DeckLinkCMIO.plugin/Contents/MacOS/DeckLinkCMIO:  dlopen(/Library/CoreMediaIO/Plug-Ins/DAL/DeckLinkCMIO.plugin/Contents/MacOS/DeckLinkCMIO, 262): no suitable image found.  Did find:
    /Library/CoreMediaIO/Plug-Ins/DAL/DeckLinkCMIO.plugin/Contents/MacOS/DeckLinkCMIO: code signature in (/Library/CoreMediaIO/Plug-Ins/DAL/DeckLinkCMIO.plugin/Contents/MacOS/DeckLinkCMIO) not valid for use in process using Library Validation: mapping process and mapped file (non-platform) have different Team IDs
2023-10-12 15:05:04.404 dvrescue[58437:5446561] Error loading /Library/Frameworks/DeckLinkAPI.framework/DeckLinkAPI:  dlopen(/Library/Frameworks/DeckLinkAPI.framework/DeckLinkAPI, 265): no suitable image found.  Did find:
    /Library/Frameworks/DeckLinkAPI.framework/DeckLinkAPI: code signature in (/Library/Frameworks/DeckLinkAPI.framework/DeckLinkAPI) not valid for use in process using Library Validation: mapping process and mapped file (non-platform) have different Team IDs
2023-10-12 15:05:04.411 dvrescue[58437:5446561] Error loading /Library/Frameworks/DeckLinkAPI.framework/DeckLinkAPI:  dlopen(/Library/Frameworks/DeckLinkAPI.framework/DeckLinkAPI, 265): no suitable image found.  Did find:
    /Library/Frameworks/DeckLinkAPI.framework/DeckLinkAPI: code signature in (/Library/Frameworks/DeckLinkAPI.framework/DeckLinkAPI) not valid for use in process using Library Validation: mapping process and mapped file (non-platform) have different Team IDs
    /Library/Frameworks/DeckLinkAPI.framework/DeckLinkAPI: stat() failed with errno=1
2023-10-12 15:05:04.417 dvrescue[58437:5446561] Error loading /Library/Frameworks/DeckLinkAPI.framework/DeckLinkAPI:  dlopen(/Library/Frameworks/DeckLinkAPI.framework/DeckLinkAPI, 265): no suitable image found.  Did find:
    /Library/Frameworks/DeckLinkAPI.framework/DeckLinkAPI: code signature in (/Library/Frameworks/DeckLinkAPI.framework/DeckLinkAPI) not valid for use in process using Library Validation: mapping process and mapped file (non-platform) have different Team IDs
    /Library/Frameworks/DeckLinkAPI.framework/DeckLinkAPI: stat() failed with errno=1
2023-10-12 15:05:04.428 dvrescue[58437:5446561] Error loading /Library/Frameworks/DeckLinkAPI.framework/DeckLinkAPI:  dlopen(/Library/Frameworks/DeckLinkAPI.framework/DeckLinkAPI, 265): no suitable image found.  Did find:
    /Library/Frameworks/DeckLinkAPI.framework/DeckLinkAPI: code signature in (/Library/Frameworks/DeckLinkAPI.framework/DeckLinkAPI) not valid for use in process using Library Validation: mapping process and mapped file (non-platform) have different Team IDs
    /Library/Frameworks/DeckLinkAPI.framework/DeckLinkAPI: stat() failed with errno=1
2023-10-12 15:05:04.436 dvrescue[58437:5446561] Error loading /Library/Frameworks/DeckLinkAPI.framework/DeckLinkAPI:  dlopen(/Library/Frameworks/DeckLinkAPI.framework/DeckLinkAPI, 265): no suitable image found.  Did find:
    /Library/Frameworks/DeckLinkAPI.framework/DeckLinkAPI: code signature in (/Library/Frameworks/DeckLinkAPI.framework/DeckLinkAPI) not valid for use in process using Library Validation: mapping process and mapped file (non-platform) have different Team IDs
    /Library/Frameworks/DeckLinkAPI.framework/DeckLinkAPI: stat() failed with errno=1
2023-10-12 15:05:04.444 dvrescue[58437:5446561] Error loading /Library/Frameworks/DeckLinkAPI.framework/DeckLinkAPI:  dlopen(/Library/Frameworks/DeckLinkAPI.framework/DeckLinkAPI, 265): no suitable image found.  Did find:
    /Library/Frameworks/DeckLinkAPI.framework/DeckLinkAPI: code signature in (/Library/Frameworks/DeckLinkAPI.framework/DeckLinkAPI) not valid for use in process using Library Validation: mapping process and mapped file (non-platform) have different Team IDs
    /Library/Frameworks/DeckLinkAPI.framework/DeckLinkAPI: stat() failed with errno=1
2023-10-12 15:05:04.452 dvrescue[58437:5446561] Error loading /Library/Frameworks/DeckLinkAPI.framework/DeckLinkAPI:  dlopen(/Library/Frameworks/DeckLinkAPI.framework/DeckLinkAPI, 265): no suitable image found.  Did find:
    /Library/Frameworks/DeckLinkAPI.framework/DeckLinkAPI: code signature in (/Library/Frameworks/DeckLinkAPI.framework/DeckLinkAPI) not valid for use in process using Library Validation: mapping process and mapped file (non-platform) have different Team IDs
    /Library/Frameworks/DeckLinkAPI.framework/DeckLinkAPI: stat() failed with errno=1
2023-10-12 15:05:04.460 dvrescue[58437:5446561] Error loading /Library/Frameworks/DeckLinkAPI.framework/DeckLinkAPI:  dlopen(/Library/Frameworks/DeckLinkAPI.framework/DeckLinkAPI, 265): no suitable image found.  Did find:
    /Library/Frameworks/DeckLinkAPI.framework/DeckLinkAPI: code signature in (/Library/Frameworks/DeckLinkAPI.framework/DeckLinkAPI) not valid for use in process using Library Validation: mapping process and mapped file (non-platform) have different Team IDs
    /Library/Frameworks/DeckLinkAPI.framework/DeckLinkAPI: stat() failed with errno=1
2023-10-12 15:05:04.469 dvrescue[58437:5446561] Error loading /Library/Frameworks/DeckLinkAPI.framework/DeckLinkAPI:  dlopen(/Library/Frameworks/DeckLinkAPI.framework/DeckLinkAPI, 265): no suitable image found.  Did find:
    /Library/Frameworks/DeckLinkAPI.framework/DeckLinkAPI: code signature in (/Library/Frameworks/DeckLinkAPI.framework/DeckLinkAPI) not valid for use in process using Library Validation: mapping process and mapped file (non-platform) have different Team IDs
    /Library/Frameworks/DeckLinkAPI.framework/DeckLinkAPI: stat() failed with errno=1
[{"id":"0x800460104f1243e","name":"DV-VCR (Sony HVR-M15U)","type":"DV"}]

daily build cli
```$ dvrescue --version
DVRescue v.0.21.11.20231012 (MediaInfoLib v.23.10) by MIPoPS.
Dave-Rices-Mac-Mini-M1-2020:build daverice$ dvrescue --list_devices_json
[{"id":"0x800460104f1243e","name":"DV-VCR (Sony HVR-M15U)","type":"DV"},{"id":"84:3c0a102a:00000000","name":"UltraStudio HD Mini","type":"DeckLink"}]
g-maxime commented 8 months ago

I haven't yet looked for how to integrate decklink/sony9pin in the GUI (library integration, licensing, serial access from the sandbox...)

I can disable support in bundled binary to avoid this message for now.

ElderOrb commented 8 months ago

well, for GUI it shouldn't matter decklink or dv if it can be controlled via dvrescue. what is critical though - is expected output (json). But in the case above it also getting this errors which I guess result in failed JSON.parse

JeromeMartinez commented 8 months ago

well, for GUI it shouldn't matter decklink or dv if it can be controlled via dvrescue

IIUC issue is the strong sandbox of the GUI which impacts the CLI behavior (funny...).

But I don't get the impact on the JSON output, aren't the error messages on stderr and JSON output on stdout? If not, we need to disable decklink/sony9pin from CLI build when in GUI. Or detect that we are limited due to the sandbox in order to avoid 2 different builds.

ElderOrb commented 8 months ago

it was not clear from @dericed output whether errors go to stderr or to stdout. If stderr - then sure, shouldn't be an issue

dericed commented 8 months ago
$ /Applications/dvrescue.app/Contents/Helpers/dvrescue --version 2>/dev/null
DVRescue v.0.21.11.20231012 (MediaInfoLib v.23.10) by MIPoPS.

$ /Applications/dvrescue.app/Contents/Helpers/dvrescue --list_devices_json 2>/dev/null
[{"id":"0x800460104f1243e","name":"DV-VCR (Sony HVR-M15U)","type":"DV"}]

$ dvrescue --version
DVRescue v.0.21.11.20231012 (MediaInfoLib v.23.10) by MIPoPS.

$ dvrescue --list_devices_json
[{"id":"0x800460104f1243e","name":"DV-VCR (Sony HVR-M15U)","type":"DV"},{"id":"84:3c0a102a:00000000","name":"UltraStudio HD Mini","type":"DeckLink"}]

Here, I added 2> /dev/null to hide stderr. This shows the cli embedded in the app does not show decklink devices but the cli does.

dericed commented 2 weeks ago

better now, but decklink inputs missing from 20240619 build

$ /Applications/dvrescue.app/Contents/Helpers/dvrescue --version
DVRescue v.22.12.20240619 (MediaInfoLib v.24.05) by MIPoPS.
$ dvrescue --version
DVRescue v.22.12.20240619 (MediaInfoLib v.24.05) by MIPoPS.

# detecting DV
$ dvrescue --list_devices_json
2024-06-19 15:20:32.262 dvrescue[12028:163398] WARNING: AVCaptureDeviceTypeExternal is deprecated for Continuity Cameras. Please use AVCaptureDeviceTypeContinuityCamera and add NSCameraUseContinuityCameraDeviceType to your Info.plist.
[{"id":"0x8004601025d6122","name":"DV-VCR (Sony DSR-45)","type":"DV"}]

$ /Applications/dvrescue.app/Contents/Helpers/dvrescue --list_devices_json
2024-06-19 15:20:37.043 dvrescue[12030:163517] WARNING: AVCaptureDeviceTypeExternal is deprecated for Continuity Cameras. Please use AVCaptureDeviceTypeContinuityCamera and add NSCameraUseContinuityCameraDeviceType to your Info.plist.
[{"id":"0x8004601025d6122","name":"DV-VCR (Sony DSR-45)","type":"DV"}]

# detecting decklink

$ dvrescue --list_devices_json
2024-06-19 15:19:02.050 dvrescue[11927:161445] WARNING: AVCaptureDeviceTypeExternal is deprecated for Continuity Cameras. Please use AVCaptureDeviceTypeContinuityCamera and add NSCameraUseContinuityCameraDeviceType to your Info.plist.
[{"id":"84:160a010c:00000000","name":"UltraStudio HD Mini","type":"DeckLink"}]

$ dvrescue --list_devices_json
2024-06-19 15:20:07.566 dvrescue[12009:162980] WARNING: AVCaptureDeviceTypeExternal is deprecated for Continuity Cameras. Please use AVCaptureDeviceTypeContinuityCamera and add NSCameraUseContinuityCameraDeviceType to your Info.plist.
[]