メインコンテンツへスキップ

⚠️ Please note that this topic or post has been archived. The information contained here may no longer be accurate or up-to-date. ⚠️

Images not imported (includes code to find missing files)

コメント

9件のコメント

  • Paul Steunebrink
    Size perhaps? Very small JPGs are not imported.
    0
  • H. Cremers
    I would suggest to see whether CO can read the images by directly browsing to the folder. The fact that Preview can read them doesn't say too much if anything at all.
    0
  • Helmut Kaufmann
    The images that actually get imported are all of the same size (pixel-wise) and some of the images that do not get imported are (in number of bytes on the disk) actually larger than the ones that got imported.

    I did a new session and navigated to the respective folders. OC can indeed not read them.. Well, is there at least a way to find out about the images that OC did not import from a given tree?

    PS: I think this might fold into my other posing about the 840 images that it consistently wants to sync and when I do so and then ask to sync again, it is another (or the same 840) images. In the case below, it wants to sync an additional 37 and then does not import a single one. I can somehow live with a limited number of images not being imported but I would at least like to see, which ones are not imported.
    0
  • Paul Steunebrink
    [quote="mercator" wrote:
    ...
    I can somehow live with a limited number of images not being imported but I would at least like to see, which ones are not imported.

    This is a desire expressed by more people... 😉
    Anything you like to share about images that do not import (size, pixels, extension, ...)?
    0
  • Helmut Kaufmann
    Yes, indeed, I can share - i the meantime I think I have found the problem. The images I took way back in 2000 was with an Olympus camera and it seems that the image processing software might have been buggy as the EXIF information seems to be corrupted with exiftool saying "Warning: Bad InteropIFD directory". I have run the following command for the images in the directories in question

    exiftool -all= -tagsfromfile @ -all:all -unsafe *

    that updated all meta information and now ALL of them show in OC. So, the only challenge left is that I have to somehow find those images in my directory hierarchy that have corrupted EXIF and only change those (I do not want to trigger a full backup for all of my 45'000 images be touching them if not necessary). So, if any of you knows how to write that UNIX one-liner that traverses a directory and all its sub-dire, looks for JPGs with corrupted EXIF and them applies the command above, that would help. I will close my other thread and point to the solution here. Perhaps other people with older images have the same challenge.
    0
  • NN635611242226980846UL
    Good Morning
    I just download capture one and it is impossibe me import images.
    I have a message selctionné the image is unavailable in unsupported or corrupted Format
      I'm on mac Yosemit Version 10.10.2
    I have a Canon 5D III DMG my sound files, RAW, JPEG
    My version of Capture One Capture One Pro 8.1.1

    I've never been able to picture opens help me thank you
    0
  • Helmut Kaufmann
    I have found that major reason for the non-import was that the IFD0/EXIF information in the files were corrupted by some program I have (obviously) used in the past. If you know the files that cause the trouble, you might try

    exiftool -all= -tagsfromfile @ -all:all -unsafe <FILENAME>

    to correct the IFD0/EXIF information and then try to re-import.
    0
  • NN635611242226980846UL
    mercator thank you
    I changed the name of the file is imported it but I have to have the locate appercu but no tool fonctione me, I can not do anything in this picture.
    It is not normal that such software is as capricious help me
    0
  • Helmut Kaufmann
    I have written a more dirty than quick PHP program that lists all files of a directory tree that have not been included in an Capture One database (for whatever reason). I have tested it on a Mac with the the Capture One database holding my migrated Aperture catalog.

    Call it as follows: php missingfiles.php <Capture On Pro database file> <directory with files to check>
    Example: php missingfiles.php CaptureOne/CaptureOne.cocatalogdb /Users/SomeUser/Pictures/

    This should help finding files that did not get imported (yet) - for whatever reason.

    Hope this is of use.

    Mercator


    <?php

    /*

    MISSINGFILES: List all image files that are in a directory tree but not in a given Capture One Pro database

    CALL: php missingfiles.php <Capture On Pro database file> <directory with files to check>
    EXAMPLE: php missingfiles.php CaptureOne/CaptureOne.cocatalogdb /Users/SomeUser/Pictures/

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    THE SOFTWARE.

    Copyright (C) 2015 by Helmut Kaufmann

    */

    function traverseTree($base,$func){
    $subdirectories=opendir($base);
    while (($subdirectory=readdir($subdirectories))!==false) {
    $path=$base.$subdirectory;
    if (is_file($path))
    $func($path);
    else if (($subdirectory!='.') && ($subdirectory!='..'))
    traverseTree($path.'/', $func);
    }
    }


    function checkit($f) {

    global $all;

    if (!(strpos($f, "/CaptureOne") == false))
    return;

    if ((!$all["/Macintosh HD".$f]) && (!$all[$f]))
    if (exif_imagetype($f) != FALSE)
    echo "Missing image: $f\n";

    }

    class MyDB extends SQLite3
    {
    function __construct()
    {
    global $argv;
    $this->open($argv[1]);
    }
    }

    $db = new MyDB();
    if(!$db){
    echo $db->lastErrorMsg();
    exit(0);
    }

    $sql="SELECT ZRELATIVEPATH, ZIMAGEFILENAME FROM ZIMAGE I, ZPATHLOCATION L WHERE I.ZIMAGELOCATION = L.Z_PK";
    $ret=$db->query($sql);
    while ($row = $ret->fetchArray(SQLITE3_ASSOC)) {
    $all[$row['ZRELATIVEPATH'] . "/". $row['ZIMAGEFILENAME']]=1;
    }
    $ret->finalize();

    $count=0;
    traverseTree($argv[2], 'checkit');
    $db->close();
    echo "\nDONE. If you like this program, feel free to offer me a drink through Paypal: drink (at) mercator (dot) li\n";
    ?>
    0

投稿コメントは受け付けていません。