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
91 stars 20 forks source link

merge log output direction issue #232

Closed dericed closed 3 years ago

dericed commented 3 years ago

Hi @JeromeMartinez, I'm testing --merge-info-output related to https://github.com/mipops/dvrescue/issues/226.

My command: avfctl -cmd capture - | dvrescue - -m out.dv --merge-info-output out.log -v 7

The out.log contains:


     #|SS:FF|U|S|Comments
     0 26;07 0   (    13 frames)
    13 26;20 M
    14 26;21 0   (    41 frames)
    55 28;02 X P,  945 block picks &  495 remaining block errors
    56 28;03 X P, 1287 block picks &  153 remaining block errors
    57 28;04 0   (    41 frames)
    98 29;15 X P, 1087 block picks &  353 remaining block errors
[... cut ...]

and the sdterr output includes:

2021-02-07 09:36:55.228 avfctl[43480:1173761] 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
    /Library/CoreMediaIO/Plug-Ins/DAL/DeckLinkCMIO.plugin/Contents/MacOS/DeckLinkCMIO: stat() failed with errno=34
2021-02-07 09:36:55.979 avfctl[43480:1173761] Mode changed: 0 -> 1
2021-02-07 09:36:55.979 avfctl[43480:1173761] Speed changed: 0.000000 -> 1.000000
DVRescue v.0.20.11.20210207.20210118 by MIPoPS

# TC Used Status Comments
#:        the frame number (0-based)
SS;FF:      the time code, if unique accross all files, SS;FF format
S:        the file number (0-based) selected as the reference (non A/V blocks are taken from it), "X" if from several frames

Status:   the status of the frame, 1 char per file
              = Fine
            T = Time code is missing
            P = Frame has problem
            M = Frame is missing

Comments: comments about the issues found
              --> Nothing displayed
            T --> List of time codes, "??:??" if no time code found
            P --> List of count of blocks picked per file, 1 number per file + count of blocks remaining with errors
            M --> Nothing displayed

File 0: -
^C 283 00:16:35;21 2005-11-05 13:29:28

It looks like the header part of the merge log it going to sdterr but then the frame based info of the merge log is directed to the output file.

JeromeMartinez commented 3 years ago

the issue was only in the intermediate snapshots of the stdin PR, please check last stdin build.

dericed commented 3 years ago

Trying latest build 2021-0210-2 but it simply stops immediately on a piped input. cat example.dv | dvrescue - -m out.dv

Just ends with no stdout or stderr, even if with -v 9.

JeromeMartinez commented 3 years ago

@dericed looks like it was an intermediate build with old source code, I tried the 2021-02-11 (latest) version and it is fine.

dericed commented 3 years ago

Still an issue here:

% avfctl -cmd capture - | dvrescue - -m out.dv --merge-info-output out.log -v 7
Error: in order to avoid mistakes, provide output file names after input file names.
2021-02-14 11:37:16.905 avfctl[1546:25289] 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
    /Library/CoreMediaIO/Plug-Ins/DAL/DeckLinkCMIO.plugin/Contents/MacOS/DeckLinkCMIO: stat() failed with errno=34
2021-02-14 11:37:17.648 avfctl[1546:25289] Mode changed: 0 -> 1
2021-02-14 11:37:17.648 avfctl[1546:25289] Speed changed: 0.000000 -> 1.000000

The command simply stops very soon after running.

% ls -l out.dv
ls: out.dv: No such file or directory

% avfctl -cmd capture - | dvrescue - -m out.dv -v 7                            
2021-02-14 11:37:48.113 avfctl[1555:25572] 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
    /Library/CoreMediaIO/Plug-Ins/DAL/DeckLinkCMIO.plugin/Contents/MacOS/DeckLinkCMIO: stat() failed with errno=34
2021-02-14 11:37:48.857 avfctl[1555:25572] Mode changed: 0 -> 1
2021-02-14 11:37:48.857 avfctl[1555:25572] Speed changed: 0.000000 -> 1.000000
DVRescue v.0.20.11.20210211 by MIPoPS

# TC Used Status Comments
#:        the frame number (0-based)
SS;FF:      the time code, if unique accross all files, SS;FF format
S:        the file number (0-based) selected as the reference (non A/V blocks are taken from it), "X" if from several frames

Status:   the status of the frame, 1 char per file
              = Fine
            T = Time code is missing
            P = Frame has problem
            M = Frame is missing

Comments: comments about the issues found
              --> Nothing displayed
            T --> List of time codes, "??:??" if no time code found
            P --> List of count of blocks picked per file, 1 number per file + count of blocks remaining with errors
            M --> Nothing displayed

File 0: -

     #|SS:FF|U|S|Comments
     0 35;29 0   (     2 frames):17:28 
     2 36;01 M
     3 36;02 X P, 1316 block picks &  124 remaining block errors
     4 36;03 0   (    41 frames):17:30 
    45 37;14 X P,  839 block picks &  601 remaining block errors
    46 37;15 X P,  991 block picks &  449 remaining block errors
    47 37;16 M7;15 2005-11-05 13:17:30 
    48 37;17 X P, 1431 block picks &    9 remaining block errors
    49 37;18 0   (    39 frames):17:31 
    88 38;27 X P, 1152 block picks &  288 remaining block errors
    89 38;28 X P,  750 block picks &  690 remaining block errors
    90 38;29 X P, 1164 block picks &  276 remaining block errors
^C  99 00:04:39;09 2005-11-05 13:17:32

but okat without this output option.

% dvrescue --version
DVRescue v.0.20.11.20210211 by MIPoPS.

Also please rename --merge-info--output to --report, unless @privatezero has a better suggestion.

JeromeMartinez commented 3 years ago

% avfctl -cmd capture - | dvrescue - -m out.dv --merge-info-output out.log -v 7 Error: in order to avoid mistakes, provide output file names after input file names.

The tool rejects the options so stops. --> % avfctl -cmd capture - | dvrescue - -m out.dv --merge-log out.log -v 7

(as --merge-info-output is no more an option, it is considered as an input name. I need to change this behavior and reject options if they are not existing files instead of currently just ignore the option / file name)

Also please rename --merge-info--output to --report

it is a merge report, not the report of analysis (the XML), I am afraid that such option may be misleading. --merge-report?

dericed commented 3 years ago

K to —merge-report.

dericed commented 3 years ago

Or maybe —merge-log. @privatezero ?

privatezero commented 3 years ago

Hmmm maybe --merge-log is the most self descriptive?

dericed commented 3 years ago

resolved in https://github.com/mipops/dvrescue/pull/235/files as --merge-log