{"id":20757877,"url":"https://github.com/amdmi3/gopro-rename","last_synced_at":"2025-04-29T23:48:39.635Z","repository":{"id":10538237,"uuid":"66100654","full_name":"AMDmi3/gopro-rename","owner":"AMDmi3","description":"Fix silly filenames from GoPro action cameras","archived":false,"fork":false,"pushed_at":"2024-01-27T01:39:33.000Z","size":29,"stargazers_count":23,"open_issues_count":3,"forks_count":7,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-29T23:48:33.338Z","etag":null,"topics":["gopro","rename-files"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AMDmi3.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-08-19T17:37:20.000Z","updated_at":"2024-09-05T09:15:50.000Z","dependencies_parsed_at":"2022-09-14T02:31:55.242Z","dependency_job_id":null,"html_url":"https://github.com/AMDmi3/gopro-rename","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AMDmi3%2Fgopro-rename","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AMDmi3%2Fgopro-rename/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AMDmi3%2Fgopro-rename/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AMDmi3%2Fgopro-rename/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AMDmi3","download_url":"https://codeload.github.com/AMDmi3/gopro-rename/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251602602,"owners_count":21615957,"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":["gopro","rename-files"],"created_at":"2024-11-17T09:46:10.650Z","updated_at":"2025-04-29T23:48:39.612Z","avatar_url":"https://github.com/AMDmi3.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gopro-rename\n\n[![CI](https://github.com/AMDmi3/gopro-rename/actions/workflows/ci.yml/badge.svg)](https://github.com/AMDmi3/gopro-rename/actions/workflows/ci.yml)\n\n[GoPro](https://gopro.com) action cameras have totally inconvenient [file naming convention](https://community.gopro.com/s/article/GoPro-Camera-File-Naming-Convention), which is, for instance, completely unfriendly to sorting. Example:\n\n```\nGOPR0001.MP4 # video 1 start\nGOPR0002.MP4\nGOPR0003.MP4\nGP010001.MP4 # video 1 continued\nGP010002.MP4\nGP010003.MP4\nGP020001.MP4 # video 1 last part\n```\n\nThis script renames files an a more sane way:\n\n```\nGoPro_0001_00.MP4 # video 1 start\nGoPro_0001_01.MP4 # video 1 continued\nGoPro_0001_02.MP4 # video 1 last part\nGoPro_0002_00.MP4\nGoPro_0002_01.MP4\nGoPro_0003_00.MP4\nGoPro_0003_01.MP4\n```\n\n## Usage\n\n```\ngopro-rename [-nfvr] [-p prefix] path [path ...]\n```\n\nThe program takes arbitrary number of paths as arguments. If file\npath is given, it's processed directly, if directory path is given,\nall files in the given directory are processed (by default the\nscript does not ascend into subdirectories, but this behavior may\nbe changed by **-r** flag). Processing involves checking whether a\nfile name looks like it has been produced by GoPro and renaming the\nfile (unless **-n** flag was specified), with an option to set the\nfile prefix instead of a default \"GoPro_\". The files which do not\nmatch GoPro file naming convention are silently ignored.\n\nAdditional flags:\n\n* **-n**, **--dry-run** - do not rename files, just print renames to stderr\n* **-f**, **--force** - rename file even if destination path exists\n* **-v**, **--verbose** - print performed renames to stderr\n* **-r**, **-R**, **--recursive** - process subdirectories recursively\n* **-p**, **--prefix** - set the filename prefix instead of the default \"GoPro_\"\n\n## Requirements\n\nOnly python interpreter is required, of version 3.6 or higher\n\n## Author\n\n* [Dmitry Marakasov](https://github.com/AMDmi3) \u003camdmi3@amdmi3.ru\u003e\n\n## Contributors\n\n* [Manu Erwin](https://github.com/manuerwin)\n\n## License\n\nMIT, see COPYING.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famdmi3%2Fgopro-rename","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famdmi3%2Fgopro-rename","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famdmi3%2Fgopro-rename/lists"}