{"id":24426086,"url":"https://github.com/xaionaro-go/player","last_synced_at":"2025-12-26T09:44:32.845Z","repository":{"id":272036547,"uuid":"915339175","full_name":"xaionaro-go/player","owner":"xaionaro-go","description":"A media (audio/video) player for Go. Few choices of the backend: libvlc, mpv, libav","archived":false,"fork":false,"pushed_at":"2025-11-27T20:49:36.000Z","size":2230,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-30T10:52:22.386Z","etag":null,"topics":["audio","av","go","golang","libav","libvlc","media","mpv","player","video","vlc"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xaionaro-go.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-01-11T15:39:09.000Z","updated_at":"2025-11-27T20:49:39.000Z","dependencies_parsed_at":"2025-01-11T16:38:27.826Z","dependency_job_id":"85a56f17-20eb-47e0-8fa3-e1a221fc8ae3","html_url":"https://github.com/xaionaro-go/player","commit_stats":null,"previous_names":["xaionaro-go/player"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/xaionaro-go/player","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xaionaro-go%2Fplayer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xaionaro-go%2Fplayer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xaionaro-go%2Fplayer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xaionaro-go%2Fplayer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xaionaro-go","download_url":"https://codeload.github.com/xaionaro-go/player/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xaionaro-go%2Fplayer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28051673,"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-12-26T02:00:06.189Z","response_time":55,"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":["audio","av","go","golang","libav","libvlc","media","mpv","player","video","vlc"],"created_at":"2025-01-20T11:15:34.287Z","updated_at":"2025-12-26T09:44:32.832Z","avatar_url":"https://github.com/xaionaro-go.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# `player`\n\n[![License: CC0-1.0](https://img.shields.io/badge/License-CC0%201.0-lightgrey.svg)](http://creativecommons.org/publicdomain/zero/1.0/)\n\nThis is a package that allows to play media files/stream in Go. See demo in [`./cmd/player`](./cmd/player/).\n\nA minimal example to play a media file/stream would be:\n```go\n    m := player.NewManager(types.OptionPathToMPV(*mpvPath))\n    p, err := m.NewPlayer(ctx, \"player demonstration\", player.BackendLibAVFyne) // available values: player.BackendLibVLC, player.BackendMPV, player.BackendLibAVFyne and others\n    if err != nil {\n        return fmt.Errorf(\"unable to open a media player: %w\", err)\n    }\n\n    err = p.OpenURL(ctx, mediaPath)\n    if err != nil {\n        return fmt.Errorf(\"unable to open the url '%s': %v\", mediaPath, err)\n    }\n```\n\n* To have the support of `BackendLibVLC` one must build with tag `with_libvlc`.\n* To have the support of `BackendLibAVFyne` one must build with tags `with_libav,with_fyne`.\n\nAn example how to run the demo:\n```sh\ngo run -tags with_libvlc ./cmd/player/ --backend libvlc MY_MEDIA_FILE_HERE\n```\n\nOr:\n```sh\ngo run -tags with_libav,with_fyne ./cmd/player/ --backend libav_fyne MY_MEDIA_FILE_HERE\n```\n\nExpected result:\n![demo screenshot](./doc/player_screenshot.png \"demo screenshot\")\n\n# Installing dependencies\n\n## Ubuntu\n\n```sh\n# fyne\nsudo apt install -y libgl-dev libx11-dev libxrandr-dev libxcursor-dev libxinerama-dev libxi-dev libxxf86vm-dev\n\n# audio\nsudo apt install -y libasound2-dev\n\n# libav\nsudo apt install -y libavcodec-dev libavdevice-dev\n\n# libvlc\nsudo apt install -y libvlc-dev\n\n# mpv\nsudo apt install -y mpv\n```\n\n\n## Fedora\n\n```sh\n# fyne\nsudo dnf install -y libglvnd-devel libX11-devel libXrandr-devel libXcursor-devel libXinerama-devel libXi-devel libXxf86vm-devel\n\n# audio\nsudo dnf install -y alsa-lib-devel\n\n# libav\nsudo dnf install -y libavcodec-free-devel libavdevice-free-devel libavfilter-free-devel libavformat-free-devel libavutil-free-devel\n\n# libvlc\nsudo dnf install -y vlc-devel\n\n# mpv\nsudo dnf install -y mpv\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxaionaro-go%2Fplayer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxaionaro-go%2Fplayer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxaionaro-go%2Fplayer/lists"}