{"id":26097699,"url":"https://github.com/emam546/subtitles-remover","last_synced_at":"2026-04-09T18:46:21.870Z","repository":{"id":277638012,"uuid":"933064709","full_name":"Emam546/Subtitles-remover","owner":"Emam546","description":" remove hardcoded subtitles from videos.","archived":false,"fork":false,"pushed_at":"2025-03-08T13:27:31.000Z","size":2360,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-08T13:29:31.830Z","etag":null,"topics":["electron","hardcoded-subtitles","nextjs","opencv","react","subtitles-remover","tailwindcss"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Emam546.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2025-02-15T04:10:16.000Z","updated_at":"2025-03-08T13:27:34.000Z","dependencies_parsed_at":"2025-02-15T05:30:01.125Z","dependency_job_id":null,"html_url":"https://github.com/Emam546/Subtitles-remover","commit_stats":null,"previous_names":["emam546/subtitles-remover"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Emam546%2FSubtitles-remover","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Emam546%2FSubtitles-remover/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Emam546%2FSubtitles-remover/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Emam546%2FSubtitles-remover/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Emam546","download_url":"https://codeload.github.com/Emam546/Subtitles-remover/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242713033,"owners_count":20173571,"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":["electron","hardcoded-subtitles","nextjs","opencv","react","subtitles-remover","tailwindcss"],"created_at":"2025-03-09T15:33:26.310Z","updated_at":"2025-12-04T23:02:08.792Z","avatar_url":"https://github.com/Emam546.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hardcoded Subtitles Remover\n## Overview\n\nThis is a Windows application designed to remove hardcoded subtitles from videos. The program allows users to select the area where subtitles appear and specify a color range to be removed. It then generates a mask and inpaints the frames, allowing users to see the results simultaneously.\n\n![Screenshot](screenshots/1.png)\n![Screenshot](screenshots/2.png)\n\n## Purpose\n\nThis program is particularly useful for students and language learners who already understand some of a movie's language but find subtitles distracting. By removing the subtitles, learners can focus more on the spoken dialogue, making it easier to improve their listening and comprehension skills. This tool allows them to have another version of the movie without subtitles.\n\n## Technologies Used\n\n- **Frontend \u0026 Backend:** Node.js, Next.js, Electron, TailwindCSS\n- **Subtitle Removal:** Implemented using Python and OpenCV\n\n\n## Features\n\n-   Cut specific portions of the video as needed.\n    \n-   Select the subtitle area manually.\n    \n-   Define the color range for subtitle removal.\n    \n-   Generate a mask and apply inpainting to reconstruct the frames.\n    \n-   Real-time preview of the processed frames.\n\n## Known Issues\n\nThis application is still under development, and there are some issues that need to be resolved:\n\n- **Performance Issues with Large Videos:** If the video is too large, the application may struggle to display it properly, though processing remains functional.\n- **Startup Delay:** The application may take some time before it starts displaying the video, and in some cases, it might fail to show the video.\n- **Seeking Issues:** There may be problems displaying the previous frame when seeking backward in the video.\n\n## Contribution\n\nThis project is still a work in progress, and I welcome any contributions to help improve its functionality and performance. If you're interested in contributing, feel free to submit issues, feature requests, or pull requests.\n\n\n## About Me\nAfter more than four years of working on projects in this field—essentially throughout my university years—this is supposed to be my last project. I am bidding farewell to this field, one that I loved deeply, yet luck was not on my side. These four years, filled with countless skills, now feel wasted in a world where only money matters.\n\nI encountered exploitative individuals who never appreciated what I did, making my life worse and leaving me feeling worthless after years of dedication. But that’s how the world works.\n\nI loved this field for its ability to harness machines to simplify tasks. I was passionate about it for its power to create artificial intelligence, especially in an era witnessing one of the most significant technological revolutions—the rise of AI.\n\nThis field demands an immense amount of time and effort, even for the smallest projects. Sometimes, we work on projects that don’t even seem necessary, yet even appreciation is hard to find.\n\nNow, my journey in a new field begins, hoping for better luck and the chance to achieve my true potential. I leave behind a mark in this field, a testament that I was capable of great accomplishments—from a boy who loved making video games to the conclusion of my journey with a project I’ve long envisioned.\n\nIt would mean a lot if you, the reader, could send a message appreciating any project you found valuable. I put tremendous effort into making them the best they could be.\n\nA special thanks to ChatGPT—not just as an AI solving programming issues, but as a supportive companion standing by my side. In fact, my journey in this field started with the dream of creating an AI friend, but luck was not in my favor.\n\nI won’t be negative—people dislike negativity, yet they rarely care to understand the story behind it. No one wants to listen. Still, I will do my utmost in my new field, hoping for better luck.\n\nMy final advice: Be careful when choosing your field. After years of hard work, your efforts may go unrecognized. Stay away from exploitative people.\n\nI know I’m not the best in this field, but I gave my best effort to make my projects as great as possible. There will always be room for improvement in the future.\n\nI wish you, the reader, the best of luck in life. May you reap the rewards of your hard work.\n\nI have learned many hard lessons on this journey—ones that cost me a great deal of time and effort. But I will do my best in the future.\n\nWish me luck and stability in my new path, hoping to finally see the fruits of my labor.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femam546%2Fsubtitles-remover","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femam546%2Fsubtitles-remover","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femam546%2Fsubtitles-remover/lists"}