{"id":17257562,"url":"https://github.com/hjohn/mediasystem-v2","last_synced_at":"2025-04-14T05:31:56.199Z","repository":{"id":43691727,"uuid":"192489895","full_name":"hjohn/MediaSystem-v2","owner":"hjohn","description":"Entertainment center for searching and viewing your video collection.  It will fetch metadata from external sources and can be controlled by remote.  The GUI is written using JavaFX and video playback uses MPV or VLC through vlcj.","archived":false,"fork":false,"pushed_at":"2024-12-03T11:04:26.000Z","size":83638,"stargazers_count":19,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-27T19:51:25.107Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hjohn.png","metadata":{"files":{"readme":"README.markdown","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2019-06-18T07:35:35.000Z","updated_at":"2024-12-03T11:04:33.000Z","dependencies_parsed_at":"2024-08-23T23:56:25.113Z","dependency_job_id":null,"html_url":"https://github.com/hjohn/MediaSystem-v2","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/hjohn%2FMediaSystem-v2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hjohn%2FMediaSystem-v2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hjohn%2FMediaSystem-v2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hjohn%2FMediaSystem-v2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hjohn","download_url":"https://codeload.github.com/hjohn/MediaSystem-v2/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248826638,"owners_count":21167727,"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":[],"created_at":"2024-10-15T07:17:54.201Z","updated_at":"2025-04-14T05:31:51.189Z","avatar_url":"https://github.com/hjohn.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"MediaSystem\r\n===========\r\n\r\nFront-end application for video libraries.  See screenshots!\r\n\r\nFeatures\r\n--------\r\n* Plays any video with VLC or MPV back-end\r\n* Scans your collection and displays covers, plots, ratings and actors using data from TMDB (www.themoviedb.org)\r\n* Can show trailers, recommendations, cast \u0026 crew, participations and movie collections\r\n* Supports Series and Movies, as well as local video collections\r\n* Extracts meta information from your collection (exact duration, tracks, subtitles, snapshots)\r\n* Keeps track of watched videos\r\n* Resumes playback from last position\r\n* Supports plugins for different styled views, video playback and video collections\r\n* Fully keyboard controlled (or remote controlled using EventGhost mappings), intended for use on a Projector\r\n\r\nTechnical Features\r\n------------------\r\n* Supports PostgreSQL as a database back-end, falling back to Apache Derby when left unconfigured\r\n\r\nRequirements\r\n------------\r\n* Java Runtime Environment 11+ installed (64-bit)\r\n\r\nOptional\r\n--------\r\n### VLC\r\n\r\n* Install VLCPlayer (64-bit)\r\n\r\n### MPV\r\n\r\nMPV is included, however it uses \"youtube-dl\" when playing YouTube videos (trailers).\r\n\r\n* Install \"youtube-dl.exe\" in your search path\r\n\r\nGetting started\r\n---------------\r\n\r\nMediaSystem should run on most operating systems.  It comes with its own embedded database \r\n(Apache Derby) but can also utilize a Postgres database.  This is configured in the \r\n`mediasystem.yaml` file.  If no database is configured, a database will be created automatically \r\nin the current directory in a folder named `db`.  Depending on how many media you have, \r\nthe database can become a couple of gigabytes in size.  This size mainly consists of \r\nextracted snapshots and cached photos and media to improve performance.\r\n\r\nInitial scanning of your media may take a while.  MediaSystem has several background \r\nprocesses that will:\r\n\r\n* Scan imported folders for changes and create a fingerprint for each file found (to detect renames or moves)\r\n* Identify files and download meta-data from TMDB\r\n* Analyze each file to extract its audio, video and subtitle tracks and a few snapshots\r\n\r\nThese processes all take a while, and will automatically continue where they left off when \r\ninterrupted.  For about a 1000 video files, the scanning and fingerprinting takes upto \r\n30 minutes, identification can take an hour (limited the allowed requests per minute \r\non TMDB) and the analysis can take a few hours as each media is decoded partially to \r\nextract snapshots.  Only the scanning phase needs to be completed to already start using\r\nthe system, but it becomes much more useful once identification has also completed.\r\n\r\n### Linux\r\n\r\n* Install Java 11+, for example `apt install default-jre`\r\n* Install the Noto fonts (https://https://www.google.com/get/noto)\r\n* Install libmpv (`apt install libmpv1`) and libavfilter7\r\n* (Optional) Install `youtube-dl` for playing trailers from YouTube with MPV\r\n* LC_NUMERIC=\"C\" ????\r\n* Unzip the archive where you would like the software to run\r\n* Change directory to the `MediaSystem` directory\r\n* Use the provided `run.sh` script or `java -jar mediasystem.jar` to run the program\r\n\r\nNote: the program expects its configuration files to be in the current directory.  This \r\nis also where it will create the database folder `db`.  Future runs of the program should\r\nbe from the same folder so cached data can be utilized from the database.\r\n\r\nThird Party Dependencies\r\n========================\r\n\r\nVLC for Java (vlcj)\r\n------------------\r\nby Mark Lee of Caprica Software  \r\nLicense: GNU GPL, version 3 or later  \r\nhttps://github.com/caprica/vlcj\r\n\r\nApache Derby\r\n------------\r\nLicense: Apache License, version 2.0  \r\nhttp://db.apache.org/derby/\r\n\r\nOpenCV\r\n------\r\nLicense: Apache License, version 2.0  \r\nhttps://github.com/bytedeco/javacv\r\n\r\nMPV\r\n---\r\nLicense: GNU GPL, version 2  \r\nhttp://mpv.io\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhjohn%2Fmediasystem-v2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhjohn%2Fmediasystem-v2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhjohn%2Fmediasystem-v2/lists"}