{"id":24564981,"url":"https://github.com/hnrobert/cmd-media-player","last_synced_at":"2025-09-09T18:08:35.124Z","repository":{"id":255985389,"uuid":"854052106","full_name":"HNRobert/CMD-Media-Player","owner":"HNRobert","description":"A cmd-line app which plays any media with characters! (with audio support)","archived":false,"fork":false,"pushed_at":"2025-02-03T11:44:00.000Z","size":25381,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-29T19:22:19.065Z","etag":null,"topics":["cmd","ffmpeg","media-player","ncurses","opencv","sdl2","terminal","video-player"],"latest_commit_sha":null,"homepage":"","language":"C++","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/HNRobert.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,"zenodo":null}},"created_at":"2024-09-08T09:24:55.000Z","updated_at":"2025-03-03T16:10:53.000Z","dependencies_parsed_at":"2024-09-08T10:20:47.063Z","dependency_job_id":"14169e32-d2dd-4fcd-a4fb-8ac1e1e3cd20","html_url":"https://github.com/HNRobert/CMD-Media-Player","commit_stats":null,"previous_names":["hnrobert/cmd-video-player","hnrobert/cmd-media-player"],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/HNRobert/CMD-Media-Player","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HNRobert%2FCMD-Media-Player","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HNRobert%2FCMD-Media-Player/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HNRobert%2FCMD-Media-Player/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HNRobert%2FCMD-Media-Player/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HNRobert","download_url":"https://codeload.github.com/HNRobert/CMD-Media-Player/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HNRobert%2FCMD-Media-Player/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274340217,"owners_count":25267292,"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","status":"online","status_checked_at":"2025-09-09T02:00:10.223Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["cmd","ffmpeg","media-player","ncurses","opencv","sdl2","terminal","video-player"],"created_at":"2025-01-23T11:30:44.984Z","updated_at":"2025-09-09T18:08:35.067Z","avatar_url":"https://github.com/HNRobert.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# An app which plays image, video and audio in your console through C++, OpenCV, SDL2 and FFmpeg\n\n![main-page](https://github.com/user-attachments/assets/a1988f68-5e57-49c5-920a-b7a8d57c9f11)\n\n## Installation\n\n### macOS (Homebrew required, supports both arm64 and x86_64)\n\n```sh\nbrew tap hnrobert/cmdp \u0026\u0026 brew install cmdp\n```\n\n\u003e I believe you've installed Homebrew, right...? If not, run `/bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\"`, or just visit [here](https://github.com/Homebrew/brew/releases) and download the .pkg installer.\n\n### Linux (Homebrew, x86_64 only)\n\n```sh\n/bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/HNRobert/CMD-Media-Player/main/linux_install.sh)\"\n```\n\n\u003e Or if you have already installed linuxbrew properly, you may just run `brew tap hnrobert/cmdp \u0026\u0026 brew install cmdp` ;)\n\n## Description\n\n```txt\n  ____ __  __ ____     __  __          _ _       \n / ___|  \\/  |  _ \\   |  \\/  | ___  __| (_) __ _ \n| |   | |\\/| | | | |  | |\\/| |/ _ \\/ _` | |/ _` |\n| |___| |  | | |_| |  | |  | |  __/ (_| | | (_| |\n \\____|_|  |_|____/   |_|  |_|\\___|\\__,_|_|\\__,_|\n\n ____  _                       \n|  _ \\| | __ _ _   _  ___ _ __ \n| |_) | |/ _` | | | |/ _ \\ '__|\n|  __/| | (_| | |_| |  __/ |        - by HNRobert\n|_|   |_|\\__,_|\\__, |\\___|_|   \n               |___/ \n\nUsage:\n  [command] [-m /path/to/media] [-st|-dy] [-s|-l] [-c \"@%#*+=-:. \"] /\n  [/path/to/media] [-st|-dy] [-s|-l] [-c \"@%#*+=-:. \"] \n\nCommands:\n  play                 Start playing media in this terminal window\n  set                  Set default options (e.g., media path, contrast mode)\n  reset                Reset the default options to the initial state\n  save                 Save the default options to a configuration file\n  help                 Show this help message\n  exit                 Exit the program\n\nOptions:\n  -m /path/to/media    Specify the media file to play\n  -st                  Use static contrast (default)\n  -dy                  Use dynamic contrast \n                        Scaling the contrast dynamically \n                        based on each frame\n  -s                   Use short character set \"@#*+-:. \" (default)\n  -l                   Use long character set \"@%#*+=^~-;:,'.` \"\n  -c \"sequence\"        Set a custom character sequence for ASCII art \n                        (prior to -s and -l)\n                        Example: \"@%#*+=-:. \"\n  --version            Show the version of the program\n  -h, --help           Show this help message\n\nWhile playing:\n  [Space]              Pause/Resume\n  [Left/Right Arrow]   Fast rewind/forward\n  [Up/Down Arrow]      Increase/Decrease volume\n  =                    Increase character set length\n  -                    Decrease character set length\n  [Ctrl+C]/[Esc]       Quit\n\nExamples:\n  play -m video.mp4 -dy -l\n      Play 'video.mp4' using dynamic contrast and long character set \n      for ASCII art.\n  play -m 'a video.mp4' -c \"@#\u0026*+=-:. \"\n      Play 'a video.mp4' with a custom character sequence for ASCII art.\n      (add quotation marks on both sides if the path contains space)\n      (if quotation marks included in the seq, use backslash to escape)\n  set -m 'default.mp4'\n      Set a default media path to 'default.mp4'\n      for future playback commands.\n  set -dy\n      Set dynamic contrast as the default mode \n      for future playback commands.\n  reset -m\n      Reset the default media path to the initial state.\n\n```\n\n## Demo\n\n### Video\n\n![kk1](https://github.com/user-attachments/assets/6c2b3a48-f8ac-4748-9b28-0794eebf66ea)\n\n- You can use command +/- to scale the characters' size, then scale the terminal window to change the resolution\n- While playing, you may press up/down arrow key to adjust volume, and use left/right arrow to fast rewind/forward\n- You can also press -/= key directly to switch between different character sets\n\n### Audio\n\n\u003e The Album cover would be shown if exists. (e.g. the one below belongs to Eagles - Hotel California.mp3)\n\n![kk2](https://github.com/user-attachments/assets/6d5519f2-7bf7-43b1-9c01-cb421c8c4ea4)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhnrobert%2Fcmd-media-player","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhnrobert%2Fcmd-media-player","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhnrobert%2Fcmd-media-player/lists"}