{"id":13525595,"url":"https://github.com/plexinc/plex-media-player","last_synced_at":"2025-09-29T01:30:39.950Z","repository":{"id":1772031,"uuid":"44163097","full_name":"plexinc/plex-media-player","owner":"plexinc","description":"Next generation Plex Desktop/Embedded Client","archived":true,"fork":false,"pushed_at":"2022-05-31T18:34:10.000Z","size":3582,"stargazers_count":1164,"open_issues_count":129,"forks_count":170,"subscribers_count":104,"default_branch":"master","last_synced_at":"2024-09-27T04:23:09.767Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/plexinc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-10-13T08:36:34.000Z","updated_at":"2024-09-21T13:57:43.000Z","dependencies_parsed_at":"2022-08-08T15:30:13.867Z","dependency_job_id":null,"html_url":"https://github.com/plexinc/plex-media-player","commit_stats":null,"previous_names":[],"tags_count":112,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plexinc%2Fplex-media-player","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plexinc%2Fplex-media-player/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plexinc%2Fplex-media-player/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plexinc%2Fplex-media-player/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/plexinc","download_url":"https://codeload.github.com/plexinc/plex-media-player/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234579583,"owners_count":18855636,"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-08-01T06:01:20.249Z","updated_at":"2025-09-29T01:30:39.063Z","avatar_url":"https://github.com/plexinc.png","language":"C++","funding_links":[],"categories":["C++"],"sub_categories":[],"readme":"## Deprecation\n\nNote: Plex is no longer actively maintaining Plex Media Player.  This repository is preserved as it was when last developed.  See https://www.plex.tv/media-server-downloads/#plex-app for replacement applications.\n\n## Building\n\nYou need:\n\n* Qt 5.9.5\n* cmake 3.1 or newer\n* ninja is recommended for building\n* FFmpeg 3.x and mpv from github\n\n## Building on Mac OS X\n\nConfigure\n\nIf you're happy just building from the command line then run CMake for the ninja build tool:\n\n* Install ninja with homebrew:\n  * ``brew install ninja``\n* Install mpv and other dependencies with homebrew:\n  * ``brew install mpv --with-shared --HEAD``\n* ``mkdir build ; cd build``\n* ``cmake -GNinja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=output ..``\n\nBuild (ninja):\n\n* ``ninja``\n\nMake a distributable package:\n\n* ``ninja install`` (be patient, it's slow)\n\nOr if you prefer working in Xcode, run CMake for the xcode build):\n\n* ``mkdir build ; cd build``\n* ``cmake -GXcode ..``\n\n## Building on Linux\n\nPlex Media Player officially requires Qt 5.9.5. Our users have indicated that Qt 5.10 and Qt 5.11 also builds correctly. However, Qt 5.11.0 and 5.11.1 versions are _incompatible_ and should be avoided. Qt 5.12 may work for you. Please consider building PMP within a dedicated VM or Docker container if your system has a Qt version installed newer than 5.9.5. Downgrading a system Qt will cause issues in other applications depending on a newer Qt version.\n\nThese instructions are for Ubuntu 16.04 LTS and up. They were tested on a fresh install without extra options and with auto-updates applied.\n\nFirst, some preparations:\n\n* ``sudo apt install autoconf automake libtool libharfbuzz-dev libfreetype6-dev libfontconfig1-dev\n    libx11-dev libxrandr-dev libvdpau-dev libva-dev mesa-common-dev libegl1-mesa-dev\n    yasm libasound2-dev libpulse-dev libuchardet-dev zlib1g-dev libfribidi-dev git\n    libgnutls28-dev libgl1-mesa-dev libsdl2-dev cmake``\n* ``mkdir pmp``\n* ``cd pmp``\n\nSystems not based on Debian/Ubuntu will have similar packages, but you'll need to figure out their names yourself.\n\n### Downloading and installing Qt\n\nIf your distro provides a Qt 5.9.5 package, try to use it. Otherwise, download a supported Qt version from qt.io.\n\nOn Windows and OSX, you can omit the ``-DQTROOT`` argument to use the Qt built by Plex. (Untested whether this works reliably.)\n\n### Building mpv and ffmpeg\n\nWhile most distros have FFmpeg and mpv packages, they're often outdated. It's recommended to build a current version, or to get them from 3rd party sources (some are listed on https://mpv.io/installation/).\n\nHere are instructions how to build them locally. First you need to install some build prerequisites:\n\n* ``git clone https://github.com/mpv-player/mpv-build.git``\n* ``cd mpv-build``\n* ``echo --enable-libmpv-shared \u003e mpv_options``\n* you can also add ``echo --disable-cplayer \u003e\u003e mpv_options`` to prevent mpv CLI from being built\n* ``./rebuild -j4`` (this steps checks out all sources and compiles them and takes a while)\n* ``sudo ./install``\n* ``sudo ldconfig``\n\nWith this, libmpv should have been installed to ``/usr/local/``. It does not conflict with the system. In particular, it does not install or use FFmpeg libraries. (The FFmpeg libraries are statically linked in libmpv when using mpv-build.)\n\nYou can also attempt to skip the installation step, and change the paths in the PMP build step to the build directory, but this is more complicated.\n\n### Building plex-media-player\n\nAssuming that everything else has installed correctly, building Plex Media Player should now be fairly straightforward:\n\n* ``cd ~/pmp/``\n* ``git clone git://github.com/plexinc/plex-media-player``\n* ``cd plex-media-player``\n* ``mkdir build``\n* ``cd build``\n* ``cmake -DCMAKE_BUILD_TYPE=Debug -DQTROOT=/opt/Qt5.9.5/5.9/gcc_64/ -DCMAKE_INSTALL_PREFIX=/usr/local/ ..``\n* ``make -j4``\n* ``sudo make install``\n\nYou should now be able to start PMP as ``plexmediaplayer`` from the terminal.\n\nIf you use your distro's Qt, use `-DQTROOT=/usr` or similar.\n\nNormally, the Ninja generator (via ``-GNinja``) is preferred, but cmake + ninja support appears to be broken on Ubuntu 16.04.\n\nIf you want, you can wipe the ``~/pmp/`` directory, as the PMP installation does not depend on it. Only Qt and libmpv are needed.\n\nSometimes, PMP's cmake run mysteriously fails. It's possible that https://bugreports.qt.io/browse/QTBUG-54666 is causing this. Try the following:\n\n* locate ``Qt5CoreConfigExtras.cmake`` of your Qt build/installation\n* comment ``set_property(TARGET Qt5::Core PROPERTY INTERFACE_COMPILE_FEATURES cxx_decltype)`` with ``#``\n\nSometimes, PMP will pick up SDL 1.x libraries. This is not supported and will lead to build failures. You need SDL 2. You can disable use of SLD with ``-DENABLE_SDL2=off`` (it's used for some remotes).\n\n## License\n\nPlex Media Player is licensed under GPL v2. See the ``LICENSE`` file.\nLicenses of dependencies are summarized under ``resources/misc/licenses.txt``.\nThis file can also be printed at runtime when using the ``--licenses`` option.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplexinc%2Fplex-media-player","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fplexinc%2Fplex-media-player","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplexinc%2Fplex-media-player/lists"}