{"id":13848082,"url":"https://github.com/g-otn/bad-apple-browser-console","last_synced_at":"2026-02-08T15:02:17.085Z","repository":{"id":49803176,"uuid":"333339277","full_name":"g-otn/bad-apple-browser-console","owner":"g-otn","description":"Generates Braille art of the Bad Apple!! video (or any video) and plays it on the browser console","archived":false,"fork":false,"pushed_at":"2022-09-02T00:49:06.000Z","size":7705,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-15T12:18:47.256Z","etag":null,"topics":["ascii-art","bad-apple","badapple","braille-art","console-log","console-visualization","ffmpeg"],"latest_commit_sha":null,"homepage":"https://g-otn.github.io/bad-apple-browser-console/","language":"JavaScript","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/g-otn.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":"2021-01-27T07:30:54.000Z","updated_at":"2024-05-28T14:06:27.000Z","dependencies_parsed_at":"2023-01-17T18:00:17.345Z","dependency_job_id":null,"html_url":"https://github.com/g-otn/bad-apple-browser-console","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/g-otn%2Fbad-apple-browser-console","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/g-otn%2Fbad-apple-browser-console/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/g-otn%2Fbad-apple-browser-console/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/g-otn%2Fbad-apple-browser-console/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/g-otn","download_url":"https://codeload.github.com/g-otn/bad-apple-browser-console/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249067787,"owners_count":21207396,"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-art","bad-apple","badapple","braille-art","console-log","console-visualization","ffmpeg"],"created_at":"2024-08-04T19:00:40.842Z","updated_at":"2026-02-08T15:02:16.970Z","avatar_url":"https://github.com/g-otn.png","language":"JavaScript","funding_links":[],"categories":["Console"],"sub_categories":[],"readme":"# bad-apple-browser-console\n\nWatch the [Bad Apple!!](https://www.youtube.com/watch?v=FtutLA63Cp8) video through the browser console.\n\n[demo](https://user-images.githubusercontent.com/44736064/181088573-a254b429-5200-42e0-9ffb-178cb32d0d42.mp4)\n\nThis project generates and repeatedly logs braille ascii art text through a timer\ninto the browser console so that it looks like a video.\n\nThe braille art was generated using [img2braille](https://github.com/5E7EN/Img2Braille), which received video frame image files extracted from the original video with FFmpeg.\n\nThe timer used to properly sync the logging with the video was made by James Edwards in his article \"[Creating Accurate Timers in JavaScript](https://www.sitepoint.com/creating-accurate-timers-in-javascript/)\".\n\n## Watch it!\n\nAccess **https://g-otn.github.io/bad-apple-browser-console/** and follow the steps.\n\n## Watch it locally\n\nYou can watch it locally by downloading this repo and serving the [`public/`](public/) folder.\nIf you have Node.js installed, you can simply do:\n\n```bash\ngit clone https://github.com/g-otn/bad-apple-browser-console.git\ncd bad-apple-browser-console\nnpx serve public/\n```\n\nAnd then access [`localhost:5000`](http://localhost:5000).\n\n## Generate new video\n\nRequires: Node.js, FFmepg\n\nAlthough this has not been tested, you could probably generate and play any video that isn't too long, too heavy and doesn't have a too big resolution. To do that, follow these steps:\n\n1. Clone the repository:\n\n```bash\ngit clone https://github.com/g-otn/bad-apple-browser-console.git\ncd bad-apple-browser-console\n```\n\n2. Put the video file you want to use inside the [`video/`](video/) folder.\n3. Rename it to `video.mp4`.\n4. Start the npm scripts by running `npm start`\n5. After everything is done, you can access [`localhost:5000`](http://localhost:5000) and follow the steps to watch the video.\n\nNote2: You can alter the code/scripts to generate a different resolution, which can also decrease the processing time.\nTake a look at the FFmpeg command in the `extract-frames` script in [`package.json`](package.json) and also in the `asciiWidth` variable in the [`generate-braille.js`](generate-braille.js) file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fg-otn%2Fbad-apple-browser-console","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fg-otn%2Fbad-apple-browser-console","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fg-otn%2Fbad-apple-browser-console/lists"}