{"id":13525200,"url":"https://github.com/monostream/tifig","last_synced_at":"2025-04-01T04:31:40.563Z","repository":{"id":26903459,"uuid":"109834087","full_name":"monostream/tifig","owner":"monostream","description":"A fast HEIF image converter aimed at thumbnailing","archived":false,"fork":false,"pushed_at":"2022-11-08T16:34:14.000Z","size":40451,"stargazers_count":409,"open_issues_count":28,"forks_count":50,"subscribers_count":18,"default_branch":"master","last_synced_at":"2024-11-02T09:33:41.121Z","etag":null,"topics":["ffmpeg","heic","heif","image","ios","iphone","jpeg","libvips","performance","vips"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/monostream.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-11-07T12:40:51.000Z","updated_at":"2024-10-16T05:53:13.000Z","dependencies_parsed_at":"2023-01-14T08:30:34.736Z","dependency_job_id":null,"html_url":"https://github.com/monostream/tifig","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monostream%2Ftifig","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monostream%2Ftifig/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monostream%2Ftifig/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monostream%2Ftifig/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/monostream","download_url":"https://codeload.github.com/monostream/tifig/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246586087,"owners_count":20801025,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ffmpeg","heic","heif","image","ios","iphone","jpeg","libvips","performance","vips"],"created_at":"2024-08-01T06:01:16.789Z","updated_at":"2025-04-01T04:31:39.041Z","avatar_url":"https://github.com/monostream.png","language":"C++","funding_links":[],"categories":["C++"],"sub_categories":[],"readme":"# tifig\n\nConverts HEIF images created on iOS 11 devices as fast as ~~humanly~~ possible.\n\n*NOTE*: While we do not have the time to actively maintain tifig anymore, it is functional at a very alpha state. We are open to new maintainers taking the lead. \n\n\n## Build Dependencies\n\n * `libvips` \u003e= 8.6\n * `libavcodec` \u003e= 3.1 (ffmpeg)\n * `libswscale` \u003e= 3.1 (ffmpeg)\n\n\n#### macOS aka OSX\n\nThis one-liner should get you going:\n\n    brew install cmake vips ffmpeg pkg-config\n\n\n#### Linux\n\nFirst of all, to just try out tifig, the easiest way is to [use our static builds](https://github.com/monostream/tifig/releases).\n\nHowever, if you do want to build from source, verify carefully that the minimally required versions are actually shipped and installed with your distro and release.\n\nFor ffmpeg, check the output of:\n\n    ffmpeg -version\n\nAssuming you are using a ubuntu based system, this should help if your versions of 'libavcodec' and 'libswscale' is too old:\n\n    sudo add-apt-repository -y ppa:jonathonf/ffmpeg-3\n    sudo apt-get update\n    sudo apt-get install libavcodec-dev libswscale-dev\n\nSince tifig requires quite a modern version of `libvips`, building from source is probably required. [Follow the instructions here](http://jcupitt.github.io/libvips/install.html#building-libvips-from-a-source-tarball) .\n\nAgain on ubuntu, something like this should do the trick:\n\n    sudo apt-get install build-essential pkg-config libglib2.0-dev libexpat1-dev libjpeg-dev libexif-dev libpng-dev libtiff-dev\n    wget https://github.com/jcupitt/libvips/releases/download/v8.6.1/vips-8.6.1.tar.gz\n    tar xzf vips-8.6.1.tar.gz\n    cd vips-8.6.1\n    ./configure\n    make\n    sudo make install\n\n\n## Build\n\n    git clone --recursive https://github.com/monostream/tifig.git\n    mkdir tifig/build \u0026\u0026 cd tifig/build\n    cmake ..\n    make\n\n\n## Usage\n\nConvert the fullsize picture:\n\n    # tifig -v -p image.heic output.jpg\n    Grid is 4032x3024 pixels in tiles 8x6\n    Export \u0026 decode HEVC: 97ms\n    Saving image: 55ms\n    Total Time: 160ms\n\nCreate a thumbnail with max width of 800px:\n\n    # tifig -v -p --width 800 image.heic thumbnail.jpg\n    Grid is 4032x3024 pixels in tiles 8x6\n    Export \u0026 decode HEVC: 113ms\n    Saving image: 100ms\n    Total Time: 243ms\n\n\nCreate a cropped thumbnail to match size exactly:\n\n    # tifig -v -p --crop --width 400 --height 400 1_portrait.heic thumbnail.jpg\n    Grid is 4032x3024 pixels in tiles 8x6\n    Export \u0026 decode HEVC: 105ms\n    Saving image: 125ms\n    Total Time: 234ms\n\nWhen a size smaller or equal to 240x240 is requested, tifig will automatically use the embedded thumbnail.\n\n\n## Installing\n\nWe release tifig as static x86_64 binary that should work on any linux without installing dependencies. The only requirement is glibc with a minimal version of 2.14. Just copy the binary to `/usr/local/bin` or wherever you want to.\n\n\n## ToDo's\n\n  * ~~Testing~~ \n  * ~~Create independant static binary~~\n  * ~~Keep exif metadata in coverted images~~\n  * Cleanup and optimizing\n  * Replace Nokia library with DigiDNAs ISOBMFF parser\n  * Carry over color profiles\n  * Support single image HEIC\n  * Improve thumbnailing\n  \n## Software Used / Libraries\n\n  * HEIF by Nokia Technologies https://github.com/nokiatech/heif\n  * libvips https://github.com/jcupitt/libvips\n  * ffmpeg https://www.ffmpeg.org/\n  * cxxopts https://github.com/jarro2783/cxxopts\n  \n***Suggestions for improvements and Pull Requests highly welcome!***\n \n\n\n\n  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmonostream%2Ftifig","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmonostream%2Ftifig","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmonostream%2Ftifig/lists"}