{"id":16696708,"url":"https://github.com/zenithalhourlyrate/acm","last_synced_at":"2025-04-10T02:41:56.791Z","repository":{"id":130586980,"uuid":"358925070","full_name":"ZenithalHourlyRate/acm","owner":"ZenithalHourlyRate","description":"AsCii Movie (asciimation) https://ascii.moe","archived":false,"fork":false,"pushed_at":"2021-05-31T14:38:20.000Z","size":51629,"stargazers_count":16,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-24T04:11:55.432Z","etag":null,"topics":["ascii","ascii-art","ascii-movies"],"latest_commit_sha":null,"homepage":"https://ascii.moe","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/ZenithalHourlyRate.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-04-17T16:13:50.000Z","updated_at":"2023-09-30T18:34:25.000Z","dependencies_parsed_at":"2023-04-03T21:33:30.134Z","dependency_job_id":null,"html_url":"https://github.com/ZenithalHourlyRate/acm","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/ZenithalHourlyRate%2Facm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZenithalHourlyRate%2Facm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZenithalHourlyRate%2Facm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZenithalHourlyRate%2Facm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ZenithalHourlyRate","download_url":"https://codeload.github.com/ZenithalHourlyRate/acm/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248144964,"owners_count":21055017,"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":["ascii","ascii-art","ascii-movies"],"created_at":"2024-10-12T17:44:37.407Z","updated_at":"2025-04-10T02:41:56.784Z","avatar_url":"https://github.com/ZenithalHourlyRate.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AsCii Movie\n\nNamely, this repo provides utils on converting normal videos to AsCii Movies.\n\nCurrently two output format is supported: image and txt\n\nAlso we provide utils on converting images to video and txt to [playable txt](https://github.com/nitram509/ascii-telnet-server)\n\n## Examples\n\n### Bad Apple\n\n![](examples/ba.gif)\n\nIf you demand the output to be a video, we need\n\n```bash\n# we assume that you get the original video of bad apple by some means\n#youtube-dl some-url\nexport VID=badapple.mp4\nexport N=$((`nproc`-1))\nexport TMPDIR=$(mktemp -d)\nexport RAW=$TMPDIR/raw\nexport ASC=$TMPDIR/asc\nmkdir $RAW\nmkdir $ASC\nbash utils/ffmpeg.in.sh $VID 30 $RAW/%05d.png\nparallel python img2ascii.py -j $N -n {} -i \"$RAW/{:05d}.png\" -o \"$ASC/{:05d}.png\" -s 40x12 -g ::: `seq \"$N\"`\nbash utils/ffmpeg.out.sh $ASC/%05d.png 30 asc.$VID\nbash utils/ffmpeg.merge.sh $VID asc.$VID final.$VID\nrm -r $TMPDIR\n```\n\nMeanwhile, if you demand it to be a format compatible to [ascii-telnet-server](https://github.com/nitram509/ascii-telnet-server) (You may use my [fork](https://github.com/ZenithalHourlyRate/ascii-telnet-server/)) to play it. Please note the difference between `-g` and `-a`\n\n```bash\n# we assume that you get the original video of bad apple by some means\n#youtube-dl some-url\nexport VID=badapple.mp4\nexport N=$((`nproc`-1))\nexport TMPDIR=$(mktemp -d)\nexport RAW=$TMPDIR/raw\nexport ASC=$TMPDIR/asc\nmkdir $RAW\nmkdir $ASC\nbash utils/ffmpeg.in.sh $VID 30 $RAW/%05d.png\nparallel python img2ascii.py -j $N -n {} -i \"$RAW/{:05d}.png\" -o \"$ASC/{:05d}.png\" -s 40x12 -a ::: `seq \"$N\"`\nbash utils/ascii2telnet-server.py -i \"$ASC/{:05d}.png\" -o ba_telnet.txt\nrm -r $TMPDIR\n```\n\nAnd use\n\n```\ncd /path/to/ascii-telnet-server\ncp /path/to/acm/ba_telnet.txt ./\npython ascii_telnet_server.py -f ba_telnet.txt --stdout -S 40x12 -s 80x25 -r 30\n```\n\nto play it. (Or you may just use `examples/ba_telnet.txt` in `acm` repo)\n\n### 夜に駆ける\n\n![](examples/yoru.gif)\n\n### もぺもぺ\n\n![](examples/mope.gif)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzenithalhourlyrate%2Facm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzenithalhourlyrate%2Facm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzenithalhourlyrate%2Facm/lists"}