{"id":21442265,"url":"https://github.com/thotypous/chromecastplay","last_synced_at":"2025-09-15T02:09:03.041Z","repository":{"id":40625960,"uuid":"98079326","full_name":"thotypous/chromecastplay","owner":"thotypous","description":"Full-featured yet simple command line ChromeCast video player","archived":false,"fork":false,"pushed_at":"2025-05-20T14:33:37.000Z","size":49,"stargazers_count":6,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-14T20:10:27.482Z","etag":null,"topics":["chromecast","embedded-webserver","subtitles","transcoding","video-player"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thotypous.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":"2017-07-23T06:31:33.000Z","updated_at":"2025-05-25T18:59:41.000Z","dependencies_parsed_at":"2025-05-20T15:35:02.801Z","dependency_job_id":"1f9255c5-8e12-49b8-8bad-5a5036042497","html_url":"https://github.com/thotypous/chromecastplay","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/thotypous/chromecastplay","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thotypous%2Fchromecastplay","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thotypous%2Fchromecastplay/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thotypous%2Fchromecastplay/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thotypous%2Fchromecastplay/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thotypous","download_url":"https://codeload.github.com/thotypous/chromecastplay/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thotypous%2Fchromecastplay/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275194018,"owners_count":25421441,"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-15T02:00:09.272Z","response_time":75,"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":["chromecast","embedded-webserver","subtitles","transcoding","video-player"],"created_at":"2024-11-23T01:53:16.167Z","updated_at":"2025-09-15T02:09:03.015Z","avatar_url":"https://github.com/thotypous.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Command Line ChromeCast media player\n\nchromecastplay is a modern, easy-to-use, full-featured yet simple command line\napplication for streaming video to a ChromeCast.\n\n\n# Features\n\n * Embedded webserver for streaming local files to the ChromeCast.\n * Supports streaming incomplete files. Useful for watching a video still being download by Torrent, MEGAsync or other means.\n * Optional real-time video transcoding when you need to play a video codec not [supported by ChromeCast](https://developers.google.com/cast/docs/media).\n * Supports subtitles supplied by an external file (e.g. SRT format) or embedded in a video file (e.g. MKV format). Automatically converts [several subtitle formats](https://trac.ffmpeg.org/wiki/ExtractSubtitles) to the WebVTT format supported by ChromeCast.\n * Allows the user to control video playback (seek, volume, pause and resume).\n\n\n# Prerequisites\n\nUse [Poetry](https://python-poetry.org):\n```bash\npoetry install\n```\n\nIn order to use the subtitles and video transcoding features, you need to install [FFmpeg](http://www.ffmpeg.org):\n\n```bash\nsudo apt install ffmpeg\n```\n\n\n# Common use cases\n\n## Play a video file\n\n```bash\npoetry run ./chromecastplay.py -v videofile.mp4\n```\n\n**Note**: If the video file was encoded with a codec not\n[supported by ChromeCast](https://developers.google.com/cast/docs/media),\nplayback will abort before starting without any further notice. In this case,\ntry the `-t` option presented below.\n\n## Play a video file encoded with a codec not supported by ChromeCast\n\n```bash\npoetry run ./chromecastplay.py -t -v videofile.mkv\n```\n\n**Note**: When real-time transcoding is enabled, the video stream will\nbe unseekable.\n\n## Play a video file with embedded subtitles\n\n```bash\npoetry run ./chromecastplay.py -v videofile.mkv\n```\n\n## Play a video file with external subtitles\n\n```bash\npoetry run ./chromecastplay.py -v videofile.mp4 -s subtitles.srt\n```\n\n## Play an incomplete video file (still being downloaded)\n\n```bash\npoetry run ./chromecastplay.py -c -v videofile.mkv\n```\n\n**Note**: When playing an incomplete file, the video stream will\nbe unseekable.\n\n## Full help message\n\nTake a look at the full help message to learn about other command line options:\n\n```bash\npoetry run ./chromecastplay.py -h\n```\n\n\n# Keyboard shortcuts\n\n| Key             | Purpose                 |\n|-----------------|-------------------------|\n| **Space bar**   | Pause/resume playback   |\n| **q**           | Stop playback and quit  |\n| **Left arrow**  | Seek back 10 seconds    |\n| **Right arrow** | Seek forward 10 seconds |\n| **Page down**   | Seek back 60 seconds    |\n| **Page up**     | Seek forward 60 seconds |\n| **Up arrow**    | Increase volume         |\n| **Down arrow**  | Decrease volume         |\n\n\n# Acknowledges\n\nThe playback control feature was based on code from the\n[chromecastplayer](https://github.com/stefanor/chromecastplayer/)\nproject by Stefano Rivera.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthotypous%2Fchromecastplay","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthotypous%2Fchromecastplay","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthotypous%2Fchromecastplay/lists"}