{"id":26338717,"url":"https://github.com/ekut-es/chaptinator","last_synced_at":"2025-06-26T10:04:43.679Z","repository":{"id":62561716,"uuid":"258460400","full_name":"ekut-es/chaptinator","owner":"ekut-es","description":"Add chapters on scene changes to videos (e.g. slide changes in presentations)","archived":false,"fork":false,"pushed_at":"2020-05-07T10:44:43.000Z","size":21,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-28T02:39:48.415Z","etag":null,"topics":["chapters","ffmpeg","powerpoint","slideshow","video"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/chaptinator/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ekut-es.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-04-24T09:01:58.000Z","updated_at":"2023-09-17T18:09:36.000Z","dependencies_parsed_at":"2022-11-03T15:15:32.118Z","dependency_job_id":null,"html_url":"https://github.com/ekut-es/chaptinator","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/ekut-es/chaptinator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekut-es%2Fchaptinator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekut-es%2Fchaptinator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekut-es%2Fchaptinator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekut-es%2Fchaptinator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ekut-es","download_url":"https://codeload.github.com/ekut-es/chaptinator/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekut-es%2Fchaptinator/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262044446,"owners_count":23249749,"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":["chapters","ffmpeg","powerpoint","slideshow","video"],"created_at":"2025-03-16T03:14:44.101Z","updated_at":"2025-06-26T10:04:43.652Z","avatar_url":"https://github.com/ekut-es.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# chaptinator\n\nAdd chapters on scene changes to videos (e.g. slide changes in presentations)\n\n\n## Install\n\n`chaptinator` requires `ffmpeg` to be installed on your system and for it to\nbe in `PATH`.\nFollow the instructions on https://ffmpeg.org/ and make sure the commands\n`ffmpeg` and `ffprobe` are available in your favorite shell (bash, zsh,\nPowershell, ...).\n\nThen install this package via pip. For a global installation use\n\n```bash\nsudo pip install chaptinator\n```\n\nand for a user-local installation use\n\n```bash\npip install --user chaptinator\n```\n\n\n## Usage\n\n```bash\nchaptinator VIDEO [-t TITLE] [-a AUTHOR] [-c CHANGE_THRESH] [-s] [-r] [-v] [-o] [-d] [-m METADATA_FILE]\n```\n\n`-t TITLE` sets the title in the metadata (default: filename)\n\n`-a ARTIST` sets the artist in the metadata\n\n`-c CHANGE` \"value between 0 and 1 to indicate a new scene; a low value\nreflects a low probability for the current frame to introduce a new scene,\nwhile a higher value means the current frame is more likely to be one\"\n-- https://ffmpeg.org/ffmpeg-filters.html#select_002c-aselect\n\n`-s` scales the tagged result video to a height 720 while keeping the aspect\nratio\n\n`-r` reduces the framerate to 5fps, which is optimal to save bandwidth when\npowerpoint slides are the sole video content. Lower values cause problems with\nsome browser video players\n\n`-o` activates the ffmpeg tune 'stillimage' that lowers the deblocking filter,\noptimizing for still images like slides\n\n`-v` converts the audio to MP3 with VBR (Variable BitRate) and a quality\nsetting of 8, which is optimal for speech with relatively long segments of\nsilence.\n(Lame is compiled into the standard `ffmpeg` library while the Frauenhofer AAC,\nwhich supports VBR, is not)\n\n`-d` downmixes both audio channels into a single mono audio channel\n\n`-m METADATA_FILE` disables the cut detection and instead uses the provided\nmetadata file. This file has to have the structure described in\nhttps://ffmpeg.org/ffmpeg-formats.html#Metadata-1\n\n\n## Example\n\n```bash\n# increase cut detection threshold to 0.4, scale the video and reduce framerate\nchaptinator foo.mp4 -t \"Video Title\" -a \"Author Name\" -c 0.4 -s -r\n\n# read cuts from metadata file\nchaptinator foo.mp4 -m metadata.txt\n```\n\n## Use Cases\n\n`chaptinator` could be used to add chapters to presentation slides that were\nrecorded in PowerPoint and exported as video.\n\nBut of course it works with any video file that has cuts in it, just adjust\nthe `-c` parameter to your preference.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fekut-es%2Fchaptinator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fekut-es%2Fchaptinator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fekut-es%2Fchaptinator/lists"}