diff --git a/README.md b/README.md index 8452f302..b1702521 100644 --- a/README.md +++ b/README.md @@ -38,15 +38,15 @@ The client requires _FFmpeg_ and _LibSDL2_. #### Linux Install the required packages from your package manager (here, for Debian): +```bash +# runtime dependencies +$ sudo apt install ffmpeg libsdl2-2.0.0 - # runtime dependencies - sudo apt install ffmpeg libsdl2-2.0.0 - - # build dependencies - sudo apt install make gcc openjdk-8-jdk pkg-config meson zip \ - libavcodec-dev libavformat-dev libavutil-dev \ - libsdl2-dev - +# build dependencies +$ sudo apt install make gcc openjdk-8-jdk pkg-config meson zip \ + libavcodec-dev libavformat-dev libavutil-dev \ +                 libsdl2-dev +``` #### Windows @@ -64,41 +64,41 @@ Instead, you may want to build it manually. You need [MSYS2] to build the project. From an MSYS2 terminal, install the required packages: [MSYS2]: http://www.msys2.org/ +```bash +# runtime dependencies +$ pacman -S mingw-w64-x86_64-SDL2 \ + mingw-w64-x86_64-ffmpeg - # runtime dependencies - pacman -S mingw-w64-x86_64-SDL2 \ - mingw-w64-x86_64-ffmpeg - - # build dependencies - pacman -S mingw-w64-x86_64-make \ - mingw-w64-x86_64-gcc \ - mingw-w64-x86_64-pkg-config \ - mingw-w64-x86_64-meson \ - zip - +# build dependencies +$ pacman -S mingw-w64-x86_64-make \ + mingw-w64-x86_64-gcc \ + mingw-w64-x86_64-pkg-config \ + mingw-w64-x86_64-meson \ +           zip +``` Java (>= 7) is not available in MSYS2, so if you plan to build the server, install it manually and make it available from the `PATH`: - - export PATH="$JAVA_HOME/bin:$PATH" - +```bash +$ export PATH="$JAVA_HOME/bin:$PATH" +``` #### Mac OS Use [Homebrew] to install the packages: [Homebrew]: https://brew.sh/ +```bash +# runtime dependencies +$ brew install sdl2 ffmpeg - # runtime dependencies - brew install sdl2 ffmpeg - - # build dependencies - brew install gcc pkg-config meson zip - +# build dependencies +$ brew install gcc pkg-config meson zip +``` Java (>= 7) is not available in Homebrew, so if you plan to build the server, install it manually and make it available from the `PATH`: - - export PATH="$JAVA_HOME/bin:$PATH" - +```bash +$ export PATH="$JAVA_HOME/bin:$PATH" +``` ### Common steps @@ -106,23 +106,23 @@ Install the [Android SDK] (_Android Studio_), and set `ANDROID_HOME` to its directory. For example: [Android SDK]: https://developer.android.com/studio/index.html - - export ANDROID_HOME=~/android/sdk - +```bash +$ export ANDROID_HOME=~/android/sdk +``` Then, build `scrcpy`: - - meson x --buildtype release --strip -Db_lto=true - cd x - ninja - +```bash +$ meson x --buildtype release --strip -Db_lto=true +$ cd x +$ ninja +``` You can test it from here: - - ninja run - +```bash +$ ninja run +``` Or you can install it on the system: - - sudo ninja install # without sudo on Windows - +```bash +$ sudo ninja install   # without sudo on Windows +``` This installs two files: - `/usr/local/bin/scrcpy` @@ -146,43 +146,43 @@ In that case, the build does not require Java or the Android SDK. Download the prebuilt server somewhere, and specify its path during the Meson configuration: - - meson x --buildtype release --strip -Db_lto=true \ - -Dprebuilt_server=/path/to/scrcpy-server.jar - cd x - ninja - sudo ninja install - +```bash +$ meson x --buildtype release --strip -Db_lto=true \ + -Dprebuilt_server=/path/to/scrcpy-server.jar +$ cd x +$ ninja +$ sudo ninja install +``` ## Run _At runtime, `adb` must be accessible from your `PATH`._ If everything is ok, just plug an Android device, and execute: - - scrcpy - +```bash +$ scrcpy +``` It accepts command-line arguments, listed by: - - scrcpy --help - +```bash +$ scrcpy --help +``` For example, to decrease video bitrate to 2Mbps (default is 8Mbps): - - scrcpy -b 2M - +```bash +$ scrcpy -b 2M +``` To limit the video dimensions (e.g. if the device is 2540×1440, but the host screen is smaller, or cannot decode such a high definition): - - scrcpy -m 1024 - +```bash +$ scrcpy -m 1024 +``` If several devices are listed in `adb devices`, you must specify the _serial_: - - scrcpy -s 0123456789abcdef - +```bash +$ scrcpy -s 0123456789abcdef +``` To run without installing: - - ./run x [options] - +```bash +$ ./run x [options] +``` (where `x` is your build directory).