{"id":13908638,"url":"https://github.com/gurrutia/videoxt","last_synced_at":"2025-10-31T09:31:07.158Z","repository":{"id":105201890,"uuid":"609405404","full_name":"gurrutia/videoxt","owner":"gurrutia","description":"Extract audio, individual frames, short clips and GIFs from videos.","archived":false,"fork":false,"pushed_at":"2023-11-17T23:44:03.000Z","size":1036,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-16T12:02:29.608Z","etag":null,"topics":["audio","cli","ffmpeg","gif","image","image-processing","images","moviepy","opencv","python","video","video-processing"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/videoxt/","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/gurrutia.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","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}},"created_at":"2023-03-04T04:23:48.000Z","updated_at":"2025-01-30T02:23:22.000Z","dependencies_parsed_at":"2024-04-16T04:46:09.002Z","dependency_job_id":"00054f6a-8eea-46ea-b3e9-0cac5d2ff133","html_url":"https://github.com/gurrutia/videoxt","commit_stats":{"total_commits":80,"total_committers":1,"mean_commits":80.0,"dds":0.0,"last_synced_commit":"ad2689fa875637780e8914d893a36aebc3a60a83"},"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gurrutia%2Fvideoxt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gurrutia%2Fvideoxt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gurrutia%2Fvideoxt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gurrutia%2Fvideoxt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gurrutia","download_url":"https://codeload.github.com/gurrutia/videoxt/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239168630,"owners_count":19593552,"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":["audio","cli","ffmpeg","gif","image","image-processing","images","moviepy","opencv","python","video","video-processing"],"created_at":"2024-08-06T23:02:52.966Z","updated_at":"2025-10-31T09:31:06.597Z","avatar_url":"https://github.com/gurrutia.png","language":"Python","funding_links":[],"categories":["HarmonyOS"],"sub_categories":["Windows Manager"],"readme":"\u003ch1 align=\"center\"\u003e\n  \u003cimg src=\"https://user-images.githubusercontent.com/3451528/222875688-e8d60da9-0439-4996-936d-c75ffd47cb58.png\" id=\"logo\" width=\"170\"\u003e\u003c/a\u003e\n\u003c/h1\u003e\n\n[![PyPI](https://img.shields.io/pypi/v/videoxt)](https://pypi.org/project/videoxt) [![Downloads](https://static.pepy.tech/badge/videoxt)](https://pepy.tech/project/videoxt) ![tests](https://github.com/gurrutia/videoxt/actions/workflows/tox.yml/badge.svg)\n\n**VideoXT** is a simple library and CLI tool for extracting audio, individual frames, short clips and GIFs from videos.\n\nSee the [documentation](https://gurrutia.github.io/videoxt) for more details.\n\n- [Installation](#installation)\n- [Usage](#usage)\n- [Contributing](#contributing)\n- [Used By](#used-by)\n\n---\n\n## Installation\n\nAvailable on [pypi](https://pypi.org/project/videoxt/).\n\n```sh\npip install videoxt\n```\n\n---\n\n## Usage\n\nFrom the command-line:\n\n```sh\n# extract audio from a video file (default: 'mp3')\n$ videoxt audio MyVideo.mp4\n{\"video\": {\"filepath\": \"C:/Users/gurrutia/MyVideo.mp4\", ...}, \"start_time\": 0, ...}\n# extracting audio...\n{\"success\": true, ...}\n$ ls\nMyVideo.mp4  MyVideo.mp3\n```\n\nAs a library:\n\n```python\n$ python\n\u003e\u003e\u003e # extract all frames from a video file (default: 'jpg')\n\u003e\u003e\u003e import videoxt\n\u003e\u003e\u003e filepath = 'C:/Users/gurrutia/MyVideo.mp4'  # or \u003cclass 'pathlib.Path'\u003e\n\u003e\u003e\u003e result = videoxt.extract_frames(filepath)  # or videoxt.extract('frames', filepath)\n\u003e\u003e\u003e result.destpath\npathlib.Path('C:/Users/gurrutia/MyVideo.mp4_frames')\n\u003e\u003e\u003e result.elapsed_time\n3.14159265358979323\n\u003e\u003e\u003e len(list(result.destpath.glob('*.jpg'))) # default: 'jpg'\n100  # number of frames extracted\n\u003e\u003e\u003e result.json()\n{'success': True, ...}\n```\n\n---\n\n## Contributing\n\nFor guidance on setting up a development environment and to make a contribution, see the [contributing guidelines](https://github.com/gurrutia/videoxt/blob/abdc3fe99a9244e668c270544bc83b44f7b828f3/CONTRIBUTING.md).\n\n---\n\n## Used By\n\n- **Best Buy Teen Tech Center** at **Grand St. Settlement**, allowing filmmaking instructors to gather film stills that aid in constructing lesson plans for their youth workshops. [Download a workshop example here](https://github.com/gurrutia/videoxt/files/10887456/GSS_Filmmaking_Fall_2022_Transfiguration_Schools_W1.pdf).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgurrutia%2Fvideoxt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgurrutia%2Fvideoxt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgurrutia%2Fvideoxt/lists"}