{"id":20648655,"url":"https://github.com/ccextractor/subtitle-resync","last_synced_at":"2025-07-21T03:34:02.709Z","repository":{"id":48242030,"uuid":"205709076","full_name":"CCExtractor/Subtitle-Resync","owner":"CCExtractor","description":"A tool to automatically generate in-sync subtitles of different versions of the same base media (such as with edits)","archived":false,"fork":false,"pushed_at":"2023-04-04T08:43:54.000Z","size":5633,"stargazers_count":24,"open_issues_count":4,"forks_count":3,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-07-02T17:09:46.389Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CCExtractor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-09-01T17:21:27.000Z","updated_at":"2025-06-24T09:02:39.000Z","dependencies_parsed_at":"2025-04-16T19:14:02.541Z","dependency_job_id":"2c93298d-230c-4afc-86e1-2f59d1511002","html_url":"https://github.com/CCExtractor/Subtitle-Resync","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/CCExtractor/Subtitle-Resync","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CCExtractor%2FSubtitle-Resync","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CCExtractor%2FSubtitle-Resync/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CCExtractor%2FSubtitle-Resync/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CCExtractor%2FSubtitle-Resync/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CCExtractor","download_url":"https://codeload.github.com/CCExtractor/Subtitle-Resync/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CCExtractor%2FSubtitle-Resync/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266235512,"owners_count":23897181,"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":[],"created_at":"2024-11-16T17:09:41.654Z","updated_at":"2025-07-21T03:34:02.682Z","avatar_url":"https://github.com/CCExtractor.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- PROJECT LOGO --\u003e\n\n\u003cbr /\u003e\n\u003cp\u003e\n  \u003ch1 style=\"color:#1C9963;\"\u003eSubtitle-Resync\u003c/h1\u003e\n  \u003ch3\u003eHigh-speed subtitle synchronization tool\u003c/h3\u003e\n  \u003ch4\u003eGSoC 2019 | CCExtractor Development\u003c/h4\u003e\n\u003c/p\u003e\n\n![GSoC](https://img.shields.io/badge/GSoC-2019-green.svg)\n[![GPLv3 license](https://img.shields.io/badge/License-GPLv3-blue.svg)](http://perso.crans.org/besson/LICENSE.html)\n\n**Subtitle-Resync** is a high-speed subtitle synchronization tool, capable\nof automatically generating *in-sync* subtitles of different versions of\nthe same base audiovisual content (such as, with and without commercials). \n\u003cbr /\u003e\nIt has been developed under GSoC 2019 with **CCExtractor development**.\n\n\u003cbr /\u003e See [what is it \u0026 how does it work](https://sypai.github.io/Subtitle-Resync/)\n \n## Usage\n\nRefer the [docs](https://github.com/CCExtractor/Subtitle-Resync/tree/master/docs/)\nfor a detailed guide to [install](https://github.com/CCExtractor/Subtitle-Resync/tree/master/docs/compiling.adoc) \nand [use](https://github.com/CCExtractor/Subtitle-Resync/tree/master/docs/usage.adoc) Subtitle-Resync.\n\n1. Clone the repository from Github:\n\n```bash\ngit clone https://github.com/CCExtractor/Subtitle-Resync.git\n```\n\n2. Navigate to `install` directory:\n\n```bash\ncd install\n```\n\n3. Run `build.sh`\n\n```bash\nsh ./build.sh\n```\n\n5. Sync!\n\n```bash\n./resync -o /path/to/original/audio.wav -m /path/to/modified/audio.wav -s /path/to/original/subtitle.srt\n```\n\n## Notes\n\n### Requirements\nRefer the [docs](https://github.com/CCExtractor/Subtitle-Resync/tree/master/docs/)\nfor [installing](https://github.com/CCExtractor/Subtitle-Resync/tree/master/docs/installing_dependencies.adoc)\nthe dependencies of Subtitle-Resync.\n\n* CMake \n    \n    Minimum version 3.14 is required.\n    \n* Boost Libraries\n    \n    Minimum version 1.60 is required.\n\n### Argument properly\n\nRefer the\n[documentation](https://github.com/CCExtractor/Subtitle-Resync/tree/master/docs/)\nfor proper usage of the tool.\n\n* Audio Files\n\n    Make sure the audio is uncompressed raw PCM (16-bit signed int), mono sampled at 16000 Hz (Enough to cover human speech frequency range).\n\n    Using [ffmpeg](https://ffmpeg.org/documentation.html) you can run:\n\n    ```bash\n    ffmpeg -i /path/to/video.ts -acodec pcm_s16le -ac 1 -ar 16000 output/path/name.wav \n    ```\n\n* Subtitle Files\n\n    The input subtitle file should be a clean and proper SubRip (SRT) file.\n\n## Quick Demo\n\nYou can find the list of parameters and their brief description by running `resync` without any arguments.\n\n* IN:\n```bash\n./resync -o /path/to/original/audio.wav -m /path/to/modified/audio.wav -s /path/to/original/subtitle.srt\n```\n\nWhat will this trigger?\n\n1. Read the original audio and modified audio.\n2. Extract audio fingerprints from the audio files.\n3. Compare the fingerprints and detect the different segments in the original content. \n4. Adjust the subtitle file and generate an *in-sync* subtitle file.\n\nSee **Subtitle-Resync** in action here.\n\n\n## License\nGNU General Public License 3.0 (GPL-v3.0)\n\nCheck [LICENSE.md](https://github.com/CCExtractor/Subtitle-Resync/blob/master/LICENSE.md) for details on\n**Subtitle-Resync's** license.\n\u003cbr /\u003e\nThe individual licenses of the libraries used can be found in [license]()\ndirectory.\n\n## Community\nYou may reach CCExtractor community through the slack channel\nwhere most CCExtractor developers hang out.\n\n* CCExtractor Development on [Slack](https://ccextractor.org/public:general:support?)\n\nWe foster a welcoming and respectful community. \u0026#128080;\n\n## Contributing \nAny contribution to the project would be highly appreciated! \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fccextractor%2Fsubtitle-resync","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fccextractor%2Fsubtitle-resync","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fccextractor%2Fsubtitle-resync/lists"}