{"id":45006474,"url":"https://github.com/totallynotadi/cvplayer","last_synced_at":"2026-02-20T16:01:18.800Z","repository":{"id":62566079,"uuid":"444668782","full_name":"totallynotadi/cvplayer","owner":"totallynotadi","description":"simple platform independant video player written in python using ffpyplayer and OpenCV","archived":false,"fork":false,"pushed_at":"2022-01-09T18:04:44.000Z","size":21,"stargazers_count":8,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-19T01:31:04.795Z","etag":null,"topics":["audio","audio-player","ffpyplayer","opencv","player","video","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":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/totallynotadi.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":"2022-01-05T04:56:02.000Z","updated_at":"2026-02-03T12:24:05.000Z","dependencies_parsed_at":"2022-11-03T16:15:33.413Z","dependency_job_id":null,"html_url":"https://github.com/totallynotadi/cvplayer","commit_stats":null,"previous_names":["totallynotadi/cvplayer","addyett/cvplayer"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/totallynotadi/cvplayer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/totallynotadi%2Fcvplayer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/totallynotadi%2Fcvplayer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/totallynotadi%2Fcvplayer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/totallynotadi%2Fcvplayer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/totallynotadi","download_url":"https://codeload.github.com/totallynotadi/cvplayer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/totallynotadi%2Fcvplayer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29656589,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-20T09:27:29.698Z","status":"ssl_error","status_checked_at":"2026-02-20T09:26:12.373Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["audio","audio-player","ffpyplayer","opencv","player","video","video-player"],"created_at":"2026-02-18T23:00:27.444Z","updated_at":"2026-02-20T16:01:18.756Z","avatar_url":"https://github.com/totallynotadi.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# cvplayer\n\ncvplayer is a video player written in python that provides easy video playback using ffpyplayer and OpenCV\n\n## Installation\n\n```py\npip install cvplayer\n```\n\nthere are two ways to use cvplayer, either through\n\n* starting interactive (direct) playback of a video from the command-line: \\\n```cvplay filaname``` \\\nsimply starts the video in a different window where it's playback can be controlledby using keymaps \\\nthe default keymaps for controlling the video playback are -\n\n* scripts (getting a VideoPlayer instance and doing whatever you want to)\n\n## scripted access\n\ncvplayer provides the VideoPlayer class which is the main wrapper around ffpyplayer's MediaPlayer. \\\nInitializing a VideoPlayer instance will start playing the video according to the options specified. The Playback can be controlled from within the script as well as using keymaps.\n\nthe VideoPlayer class initiates playback and provide methods to control/access the state of the player.\n\nHere's and example to play a video\n\n```py\nfrom cvplayer import VideoPlayer\n\nplayer = VideoPlayer(filename)\n\nwhile player.state != 'eof':\n    print(player.get_pts())\n    time.sleep(1)\n```\n\nparameters for a VideoPlayer instance:\n\n| parameter    | type  |Description                                                                                                                   |\n|--------------|-------|------------------------------------------------------------------------------------------------------------------------------|\n| filename     | str   | The filename of the media                                                                                                    |\n| paused       | bool  | If True, the player will be in a paused state after creation, otherwise it will immediately start playing. Defaults to False |\n| fullscreen   | bool  | If True, the video playback will be in fullscreen mode immediately after it's creation. Defaults to True                     |\n| key_controls | bool  | If True, the video playback can be controlled using specified keymaps. Defaults to True                                      |\n| skip_interval| int   | Specify the numebr of seconds to move ahead or beind when navigating the video using the keymaps                             |\n| volume       | float | The default volume. A value between 0.0 - 1.0. Defaults to 1.0                                                               |\n| mute         | bool  | If True, the player will be muted by default after creation. Defaults to False                                               |\n| t            | int   | Play only ```t``` seconds of the audio/video. Defaults to the full audio/video. Defaults to the full audio/video             |\n| ss           | int   | Seek to pos ```ss``` into the file when starting. Defaults to the beginning of the file                                      |\n| blocking     | bool  | If True, the playback will block the current thread (the one it's being run from) until the playback ends. Defaults to False |\n| playback     | bool  | If False, only the player will be initialized and no video/audio will be played, only audio can be played by unmuting the player. Useful for just reading the frames form a video to display them using something else|\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftotallynotadi%2Fcvplayer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftotallynotadi%2Fcvplayer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftotallynotadi%2Fcvplayer/lists"}