{"id":15724486,"url":"https://github.com/jshrake/dragonfly","last_synced_at":"2025-03-31T01:14:44.184Z","repository":{"id":150740873,"uuid":"584458838","full_name":"jshrake/dragonfly","owner":"jshrake","description":"Command-line tool to extract frames from equirectangular (360) images and video.","archived":false,"fork":false,"pushed_at":"2023-01-16T04:12:39.000Z","size":14,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-06T06:26:26.901Z","etag":null,"topics":["360-photo","360-video","equirectangular","ffmpeg"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/jshrake.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":"2023-01-02T16:17:55.000Z","updated_at":"2023-10-04T03:16:06.000Z","dependencies_parsed_at":"2023-04-12T06:22:56.249Z","dependency_job_id":null,"html_url":"https://github.com/jshrake/dragonfly","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshrake%2Fdragonfly","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshrake%2Fdragonfly/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshrake%2Fdragonfly/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshrake%2Fdragonfly/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jshrake","download_url":"https://codeload.github.com/jshrake/dragonfly/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246399798,"owners_count":20770908,"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":["360-photo","360-video","equirectangular","ffmpeg"],"created_at":"2024-10-03T22:16:49.542Z","updated_at":"2025-03-31T01:14:44.164Z","avatar_url":"https://github.com/jshrake.png","language":"Rust","readme":"# dragonfly\n\nCommand-line tool to extract frames from equirectangular (360) images and video.\n\nConvert this\n\n![example](https://user-images.githubusercontent.com/3046816/212596686-ba1b7ed0-5143-40b6-a2a5-0456a89cf0c3.jpg)\n\ninto this\n\n[example.webm](https://user-images.githubusercontent.com/3046816/212596188-88efb730-8ecb-4b99-b133-b9fca26f176a.webm)\n\n**WARNING** This is alpha software and not ready for you to use. It will change.\n\n## Getting Started\n\nYou need to install \u003chttps://ffmpeg.org/\u003e and ensure that the `ffmpeg` and `ffprobe` binaries are on your `$PATH`.\n\n### MacOS\n\n```console\nbrew install ffmpeg\n```\n\n## Usage\n\nHere are some examples of things you can do with this software:\n\n- Create a 5 second 30 FPS video from a 360 image\n\n```bash\nRUST_LOG=debug cargo run -- extract examples/example.jpg --frame-count 300 --j 8    \nRUST_LOG=debug cargo run -- encode --length 5 --fps 30 --scale 0.125\n```\n\n## Resources\n\n### Projections\n\n- \u003chttps://blog.nitishmutha.com/equirectangular/360degree/2017/06/12/How-to-project-Equirectangular-image-to-rectilinear-view.html\u003e\n- \u003chttps://github.com/NitishMutha/equirectangular-toolbox/blob/master/nfov.py\u003e\n- \u003chttps://mathworld.wolfram.com/GnomonicProjection.html\u003e\n\n### ffmpeg\n\n- \u003chttps://ffmpeg.org/ffmpeg-filters.html#v360\u003e\n- \u003chttps://ffmpeg.org/ffmpeg-filters.html#zoompan\u003e\n- \u003chttps://trac.ffmpeg.org/wiki/Encode/H.264\u003e\n- \u003chttps://superuser.com/questions/1112617/ffmpeg-smooth-zoompan-with-no-jiggle/1112680#1112680\u003e\n- \u003chttps://superuser.com/questions/1127615/ffmpeg-zoompan-filter-examples\u003e\n- \u003chttps://trac.ffmpeg.org/wiki/ChangingFrameRate\u003e\n- \u003chttps://blog.programster.org/ffmpeg-create-smooth-videos-with-frame-interpolation\u003e\n- \u003chttps://stackoverflow.com/questions/22547253/how-do-i-reduce-frames-with-blending-in-ffmpeg\u003e\n- \u003chttps://superuser.com/questions/564402/explanation-of-x264-tune\u003e\n- List of useful example commands \u003chttps://github.com/Fescron/ubuntu/blob/master/2-timelapse-ffmpeg.md#2---timelapse-to-video-with-ffmpeg\u003e\n- Another list \u003chttps://gist.github.com/jkalucki/c81f8fe17599a8c9cd51b565d7dc27eb\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjshrake%2Fdragonfly","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjshrake%2Fdragonfly","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjshrake%2Fdragonfly/lists"}