इंस्टॉल करना

Debian और Ubuntu पर इंस्टॉल करना

  1. Bazelisk इंस्टॉल करें.

    Bazelisk इंस्टॉल करने के लिए, Bazel के आधिकारिक दस्तावेज़ में दिया गया तरीका अपनाएं.

  2. MediaPipe डेटा स्टोर करने की जगह को चेकआउट करें.

    $ cd $HOME
    $ git clone --depth 1 https://github.com/google/mediapipe.git
    
    # Change directory into MediaPipe root directory
    $ cd mediapipe
    
  3. OpenCV और FFmpeg इंस्टॉल करें.

    पहला विकल्प. पहले से कंपाइल की गई OpenCV लाइब्रेरी इंस्टॉल करने के लिए पैकेज मैनेजर टूल का इस्तेमाल करें. FFmpeg, libopencv-video-dev के ज़रिए इंस्टॉल किया जाएगा.

    ओएस OpenCV
    Debian 9 (स्ट्रेच) 2.4
    Debian 10 (बस्टर) 3.2
    Debian 11 (bullseye) 4.5
    Ubuntu 16.04 LTS 2.4
    Ubuntu 18.04 LTS 3.2
    Ubuntu 20.04 LTS 4.2
    Ubuntu 20.04 LTS 4.2
    Ubuntu 21.04 4.5
    $ sudo apt-get install -y \
        libopencv-core-dev \
        libopencv-highgui-dev \
        libopencv-calib3d-dev \
        libopencv-features2d-dev \
        libopencv-imgproc-dev \
        libopencv-video-dev
    

    ध्यान दें. Debian 11/Ubuntu 21.04 पर, libopencv-video-dev के साथ OpenCV 4.5 इंस्टॉल करने पर, libopencv-contrib-dev भी इंस्टॉल होना चाहिए.

    $ sudo apt-get install -y libopencv-contrib-dev
    

    MediaPipe के opencv_linux.BUILD और WORKSPACE को पहले से ही OpenCV 2/3 के लिए कॉन्फ़िगर किया गया है. साथ ही, ये किसी भी आर्किटेक्चर पर सही तरीके से काम करने चाहिए:

    # WORKSPACE
    new_local_repository(
      name = "linux_opencv",
      build_file = "@//third_party:opencv_linux.BUILD",
      path = "/usr",
    )
    
    # opencv_linux.BUILD for OpenCV 2/3 installed from Debian package
    cc_library(
      name = "opencv",
      linkopts = [
        "-l:libopencv_core.so",
        "-l:libopencv_calib3d.so",
        "-l:libopencv_features2d.so",
        "-l:libopencv_highgui.so",
        "-l:libopencv_imgcodecs.so",
        "-l:libopencv_imgproc.so",
        "-l:libopencv_video.so",
        "-l:libopencv_videoio.so",
      ],
    )
    

    OpenCV 4 के लिए आपको मौजूदा आर्किटेक्चर को ध्यान में रखते हुए opencv_linux.BUILD में बदलाव करना होगा:

    # WORKSPACE
    new_local_repository(
      name = "linux_opencv",
      build_file = "@//third_party:opencv_linux.BUILD",
      path = "/usr",
    )
    
    # opencv_linux.BUILD for OpenCV 4 installed from Debian package
    cc_library(
      name = "opencv",
      hdrs = glob([
        # Uncomment according to your multiarch value (gcc -print-multiarch):
        #  "include/aarch64-linux-gnu/opencv4/opencv2/cvconfig.h",
        #  "include/arm-linux-gnueabihf/opencv4/opencv2/cvconfig.h",
        #  "include/x86_64-linux-gnu/opencv4/opencv2/cvconfig.h",
        "include/opencv4/opencv2/**/*.h*",
      ]),
      includes = [
        # Uncomment according to your multiarch value (gcc -print-multiarch):
        #  "include/aarch64-linux-gnu/opencv4/",
        #  "include/arm-linux-gnueabihf/opencv4/",
        #  "include/x86_64-linux-gnu/opencv4/",
        "include/opencv4/",
      ],
      linkopts = [
        "-l:libopencv_core.so",
        "-l:libopencv_calib3d.so",
        "-l:libopencv_features2d.so",
        "-l:libopencv_highgui.so",
        "-l:libopencv_imgcodecs.so",
        "-l:libopencv_imgproc.so",
        "-l:libopencv_video.so",
        "-l:libopencv_videoio.so",
      ],
    )
    

    दूसरा विकल्प. सोर्स से OpenCV को अपने-आप बिल्ड करने और MediaPipe के OpenCV कॉन्फ़िगरेशन में बदलाव करने के लिए, setup_opencv.sh चलाएं. यह विकल्प, तीसरे विकल्प में बताए गए सभी चरणों को अपने-आप पूरा करेगा.

    तीसरा विकल्प. सोर्स कोड से OpenCV को मैन्युअल तरीके से बनाने के लिए, OpenCV के दस्तावेज़ का पालन करें.

    MediaPipe को अपनी OpenCV लाइब्रेरी पर ले जाने के लिए, आपको WORKSPACE और opencv_linux.BUILD में बदलाव करना पड़ सकता है. मान लें कि OpenCV को /usr/local/ में इंस्टॉल किया जाएगा, जिसका सुझाव डिफ़ॉल्ट रूप से दिया जाता है.

    OpenCV 2/3 सेटअप:

    # WORKSPACE
    new_local_repository(
      name = "linux_opencv",
      build_file = "@//third_party:opencv_linux.BUILD",
      path = "/usr/local",
    )
    
    # opencv_linux.BUILD for OpenCV 2/3 installed to /usr/local
    cc_library(
      name = "opencv",
      linkopts = [
        "-L/usr/local/lib",
        "-l:libopencv_core.so",
        "-l:libopencv_calib3d.so",
        "-l:libopencv_features2d.so",
        "-l:libopencv_highgui.so",
        "-l:libopencv_imgcodecs.so",
        "-l:libopencv_imgproc.so",
        "-l:libopencv_video.so",
        "-l:libopencv_videoio.so",
      ],
    )
    

    OpenCV 4 का सेटअप:

    # WORKSPACE
    new_local_repository(
      name = "linux_opencv",
      build_file = "@//third_party:opencv_linux.BUILD",
      path = "/usr/local",
    )
    
    # opencv_linux.BUILD for OpenCV 4 installed to /usr/local
    cc_library(
      name = "opencv",
      hdrs = glob([
        "include/opencv4/opencv2/**/*.h*",
      ]),
      includes = [
        "include/opencv4/",
      ],
      linkopts = [
        "-L/usr/local/lib",
        "-l:libopencv_core.so",
        "-l:libopencv_calib3d.so",
        "-l:libopencv_features2d.so",
        "-l:libopencv_highgui.so",
        "-l:libopencv_imgcodecs.so",
        "-l:libopencv_imgproc.so",
        "-l:libopencv_video.so",
        "-l:libopencv_videoio.so",
      ],
    )
    

    मौजूदा FFmpeg सेटअप ffmpeg_linux.BUILD में बताया गया है और यह किसी भी आर्किटेक्चर के लिए काम करना चाहिए:

    # WORKSPACE
    new_local_repository(
      name = "linux_ffmpeg",
      build_file = "@//third_party:ffmpeg_linux.BUILD",
      path = "/usr"
    )
    
    # ffmpeg_linux.BUILD for FFmpeg installed from Debian package
    cc_library(
      name = "libffmpeg",
      linkopts = [
        "-l:libavcodec.so",
        "-l:libavformat.so",
        "-l:libavutil.so",
      ],
    )
    
  4. जीपीयू के ज़रिए तेज़ी से काम करने की सुविधा के साथ, सिर्फ़ Linux (OS X पर नहीं) पर डेस्कटॉप के उदाहरण चलाने के लिए.

    # Requires a GPU with EGL driver support.
    # Can use mesa GPU libraries for desktop, (or Nvidia/AMD equivalent).
    sudo apt-get install mesa-common-dev libegl1-mesa-dev libgles2-mesa-dev
    
    # To compile with GPU support, replace
    --define MEDIAPIPE_DISABLE_GPU=1
    # with
    --copt -DMESA_EGL_NO_X11_HEADERS --copt -DEGL_NO_X11
    # when building GPU examples.
    
  5. C++ में Hello World! उदाहरण चलाएं.

    $ export GLOG_logtostderr=1
    
    # if you are running on Linux desktop with CPU only
    $ bazel run --define MEDIAPIPE_DISABLE_GPU=1 \
        mediapipe/examples/desktop/hello_world:hello_world
    
    # If you are running on Linux desktop with GPU support enabled (via mesa drivers)
    $ bazel run --copt -DMESA_EGL_NO_X11_HEADERS --copt -DEGL_NO_X11 \
        mediapipe/examples/desktop/hello_world:hello_world
    
    # Should print:
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    

अगर आपको बिल्ड में कोई गड़बड़ी होती है, तो कृपया बिल्ड से जुड़ी कई सामान्य समस्याओं के समाधान पाने के लिए समस्या का हल लेख पढ़ें.

CentOS पर इंस्टॉल करना

डिसक्लेमर: CentOS पर MediaPipe को चलाने की सुविधा, एक्सपेरिमेंट के तौर पर उपलब्ध है.

  1. Bazelisk इंस्टॉल करें.

    Bazelisk इंस्टॉल करने के लिए, Bazel के आधिकारिक दस्तावेज़ में दिया गया तरीका अपनाएं.

  2. MediaPipe रिपॉज़िटरी को चेकआउट करें.

    $ git clone --depth 1 https://github.com/google/mediapipe.git
    
    # Change directory into MediaPipe root directory
    $ cd mediapipe
    
  3. OpenCV इंस्टॉल करें.

    विकल्प 1. पहले से कंपाइल किया गया वर्शन इंस्टॉल करने के लिए, पैकेज मैनेजर टूल का इस्तेमाल करें.

    $ sudo yum install opencv-devel
    

    विकल्प 2. सोर्स कोड से OpenCV बनाएं.

    new_local_repository(
        name = "linux_opencv",
        build_file = "@//third_party:opencv_linux.BUILD",
        path = "/usr/local",
    )
    
    new_local_repository(
        name = "linux_ffmpeg",
        build_file = "@//third_party:ffmpeg_linux.BUILD",
        path = "/usr/local",
    )
    
    cc_library(
        name = "opencv",
        srcs = glob(
            [
                "lib/libopencv_core.so",
                "lib/libopencv_highgui.so",
                "lib/libopencv_imgcodecs.so",
                "lib/libopencv_imgproc.so",
                "lib/libopencv_video.so",
                "lib/libopencv_videoio.so",
            ],
        ),
        hdrs = glob([
            # For OpenCV 3.x
            "include/opencv2/**/*.h*",
            # For OpenCV 4.x
            # "include/opencv4/opencv2/**/*.h*",
        ]),
        includes = [
            # For OpenCV 3.x
            "include/",
            # For OpenCV 4.x
            # "include/opencv4/",
        ],
        linkstatic = 1,
        visibility = ["//visibility:public"],
    )
    
    cc_library(
        name = "libffmpeg",
        srcs = glob(
            [
                "lib/libav*.so",
            ],
        ),
        hdrs = glob(["include/libav*/*.h"]),
        includes = ["include"],
        linkopts = [
            "-lavcodec",
            "-lavformat",
            "-lavutil",
        ],
        linkstatic = 1,
        visibility = ["//visibility:public"],
    )
    
  4. C++ में Hello World! उदाहरण चलाएं.

    $ export GLOG_logtostderr=1
    # Need bazel flag 'MEDIAPIPE_DISABLE_GPU=1' if you are running on Linux desktop with CPU only
    $ bazel run --define MEDIAPIPE_DISABLE_GPU=1 \
        mediapipe/examples/desktop/hello_world:hello_world
    
    # Should print:
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    

अगर आपको बिल्ड करने में कोई गड़बड़ी मिलती है, तो कृपया समस्या हल करना लेख पढ़ें. इससे आपको बिल्ड करने से जुड़ी कई सामान्य समस्याओं का हल मिल जाएगा.

macOS पर इंस्टॉल करना

  1. सेशन की तैयारी:

    • Homebrew इंस्टॉल करें.
    • xcode-select --install से Xcode और इसके कमांड-लाइन टूल इंस्टॉल करें.
  2. Bazelisk इंस्टॉल करें.

    Bazelisk को इंस्टॉल करने के लिए, आधिकारिक Basel दस्तावेज़ का पालन करें.

  3. MediaPipe डेटा स्टोर करने की जगह को चेकआउट करें.

    $ git clone --depth 1 https://github.com/google/mediapipe.git
    
    $ cd mediapipe
    
  4. OpenCV और FFmpeg इंस्टॉल करें.

    विकल्प 1. पहले से कंपाइल की गई OpenCV 3 लाइब्रेरी इंस्टॉल करने के लिए, HomeBrew पैकेज मैनेजर टूल का इस्तेमाल करें. FFmpeg को OpenCV से इंस्टॉल किया जाएगा.

    $ brew install opencv@3
    
    # There is a known issue caused by the glog dependency. Uninstall glog.
    $ brew uninstall --ignore-dependencies glog
    

    विकल्प 2. OpenCV लाइब्रेरी इंस्टॉल करने के लिए MacPorts पैकेज मैनेजर टूल का इस्तेमाल करें.

    $ port install opencv
    
    new_local_repository(
        name = "macos_opencv",
        build_file = "@//third_party:opencv_macos.BUILD",
        path = "/opt",
    )
    
    new_local_repository(
        name = "macos_ffmpeg",
        build_file = "@//third_party:ffmpeg_macos.BUILD",
        path = "/opt",
    )
    
    cc_library(
        name = "opencv",
        srcs = glob(
            [
                "local/lib/libopencv_core.dylib",
                "local/lib/libopencv_highgui.dylib",
                "local/lib/libopencv_imgcodecs.dylib",
                "local/lib/libopencv_imgproc.dylib",
                "local/lib/libopencv_video.dylib",
                "local/lib/libopencv_videoio.dylib",
            ],
        ),
        hdrs = glob(["local/include/opencv2/**/*.h*"]),
        includes = ["local/include/"],
        linkstatic = 1,
        visibility = ["//visibility:public"],
    )
    
    cc_library(
        name = "libffmpeg",
        srcs = glob(
            [
                "local/lib/libav*.dylib",
            ],
        ),
        hdrs = glob(["local/include/libav*/*.h"]),
        includes = ["local/include/"],
        linkopts = [
            "-lavcodec",
            "-lavformat",
            "-lavutil",
        ],
        linkstatic = 1,
        visibility = ["//visibility:public"],
    )
    
  5. पक्का करें कि Python 3 और Python "six" लाइब्रेरी इंस्टॉल हो.

    $ brew install python
    $ sudo ln -s -f /usr/local/bin/python3.7 /usr/local/bin/python
    $ python --version
    Python 3.7.4
    $ pip3 install --user six
    
  6. C++ में Hello World! उदाहरण चलाएं.

    $ export GLOG_logtostderr=1
    # Need bazel flag 'MEDIAPIPE_DISABLE_GPU=1' as desktop GPU is currently not supported
    $ bazel run --define MEDIAPIPE_DISABLE_GPU=1 \
        mediapipe/examples/desktop/hello_world:hello_world
    
    # Should print:
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    

अगर आपको बिल्ड करने में कोई गड़बड़ी मिलती है, तो कृपया समस्या हल करना लेख पढ़ें. इससे आपको बिल्ड करने से जुड़ी कई सामान्य समस्याओं का हल मिल जाएगा.

Windows पर इंस्टॉल किया जा रहा है

डिसक्लेमर: Windows पर MediaPipe को चलाने की सुविधा, एक्सपेरिमेंट के तौर पर उपलब्ध है.

  1. MSYS2 इंस्टॉल करें और %PATH% एनवायरमेंट वैरिएबल में बदलाव करें.

    अगर MSYS2 को C:\msys64 में इंस्टॉल किया गया है, तो अपने %PATH% एनवायरमेंट वैरिएबल में C:\msys64\usr\bin जोड़ें.

  2. ज़रूरी पैकेज इंस्टॉल करें.

    C:\> pacman -S git patch unzip
    
  3. Python इंस्टॉल करें और %PATH% एनवायरमेंट वैरिएबल में बदलाव करने के लिए, एक्सीक्यूटेबल को अनुमति दें.

    https://www.python.org/downloads से Python Windows की एक्ज़ीक्यूटेबल फ़ाइल डाउनलोड करें और इंस्टॉल करें.

  4. Visual C++ Build Tools 2019 और WinSDK इंस्टॉल करना

    Visual Studio की वेबसाइट पर जाएं और बिल्ड टूल डाउनलोड करें. इसके बाद, Microsoft Visual C++ 2019 Redistributable और Microsoft Build Tools 2019 इंस्टॉल करें.

    Microsoft की आधिकारिक वेबसाइट से WinSDK डाउनलोड करें और इंस्टॉल करें.

  5. Bazel या Bazelisk इंस्टॉल करें और %PATH% एनवायरमेंट वैरिएबल में, Bazel के एक्सीक्यूटेबल की जगह जोड़ें.

    विकल्प 1. Bazel 6.5.0 या इसके बाद का वर्शन इंस्टॉल करने के लिए, Bazel के आधिकारिक दस्तावेज़ पढ़ें.

    विकल्प 2. Bazelisk को इंस्टॉल करने के लिए, आधिकारिक Basel दस्तावेज़ का पालन करें.

  6. Bazel वैरिएबल सेट करें. Bazel के आधिकारिक दस्तावेज़ में, "Windows पर बिल्ड करना" के बारे में ज़्यादा जानें.

    # Please find the exact paths and version numbers from your local version.
    C:\> set BAZEL_VS=C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools
    C:\> set BAZEL_VC=C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC
    C:\> set BAZEL_VC_FULL_VERSION=<Your local VC version>
    C:\> set BAZEL_WINSDK_FULL_VERSION=<Your local WinSDK version>
    
  7. MediaPipe डेटा स्टोर करने की जगह को चेकआउट करें.

    C:\Users\Username\mediapipe_repo> git clone --depth 1 https://github.com/google/mediapipe.git
    
    # Change directory into MediaPipe root directory
    C:\Users\Username\mediapipe_repo> cd mediapipe
    
  8. OpenCV इंस्टॉल करें.

    https://opencv.org/releases/ से Windows के लिए, एक्सीक्यूटेबल फ़ाइल डाउनलोड करें और इंस्टॉल करें. MediaPipe 0.10.x, OpenCV 3.4.10 के साथ काम करता है. अगर C:\opencv पर OpenCV इंस्टॉल नहीं है, तो WORKSPACE फ़ाइल में बदलाव करना न भूलें.

    new_local_repository(
        name = "windows_opencv",
        build_file = "@//third_party:opencv_windows.BUILD",
        path = "C:\\<path to opencv>\\build",
    )
    
  9. C++ में Hello World! उदाहरण चलाएं.

    C:\Users\Username\mediapipe_repo>bazel build -c opt --define MEDIAPIPE_DISABLE_GPU=1 --action_env PYTHON_BIN_PATH="C://python_36//python.exe" mediapipe/examples/desktop/hello_world
    
    C:\Users\Username\mediapipe_repo>set GLOG_logtostderr=1
    
    C:\Users\Username\mediapipe_repo>bazel-bin\mediapipe\examples\desktop\hello_world\hello_world.exe
    
    # should print:
    # I20200514 20:43:12.277598  1200 hello_world.cc:56] Hello World!
    # I20200514 20:43:12.278597  1200 hello_world.cc:56] Hello World!
    # I20200514 20:43:12.279618  1200 hello_world.cc:56] Hello World!
    # I20200514 20:43:12.279618  1200 hello_world.cc:56] Hello World!
    # I20200514 20:43:12.279618  1200 hello_world.cc:56] Hello World!
    # I20200514 20:43:12.279618  1200 hello_world.cc:56] Hello World!
    # I20200514 20:43:12.279618  1200 hello_world.cc:56] Hello World!
    # I20200514 20:43:12.279618  1200 hello_world.cc:56] Hello World!
    # I20200514 20:43:12.279618  1200 hello_world.cc:56] Hello World!
    # I20200514 20:43:12.280613  1200 hello_world.cc:56] Hello World!
    

अगर आपको बिल्ड करने में कोई गड़बड़ी मिलती है, तो कृपया समस्या हल करना लेख पढ़ें. इससे आपको बिल्ड करने से जुड़ी कई सामान्य समस्याओं का हल मिल जाएगा.

Linux के लिए Windows सबसिस्टम (WSL) पर इंस्टॉल करना

  1. Windows Subsystem for Linux (Ubuntu) को इंस्टॉल करने के लिए, दिए गए निर्देश का पालन करें.

  2. Windows ADB इंस्टॉल करें और Windows में ADB सर्वर शुरू करें.

  3. WSL लॉन्च करें.

  4. ज़रूरी पैकेज इंस्टॉल करें.

    username@DESKTOP-TMVLBJ1:~$ sudo apt-get update && sudo apt-get install -y build-essential git python zip adb openjdk-8-jdk
    
  5. Bazelisk इंस्टॉल करें.

    Bazelisk इंस्टॉल करने के लिए, Bazel के आधिकारिक दस्तावेज़ में दिया गया तरीका अपनाएं.

  6. MediaPipe डेटा स्टोर करने की जगह को चेकआउट करें.

    username@DESKTOP-TMVLBJ1:~$ git clone --depth 1 https://github.com/google/mediapipe.git
    
    username@DESKTOP-TMVLBJ1:~$ cd mediapipe
    
  7. OpenCV और FFmpeg इंस्टॉल करें.

    विकल्प 1. पहले से कंपाइल की गई OpenCV लाइब्रेरी इंस्टॉल करने के लिए पैकेज मैनेजर टूल का इस्तेमाल करें. FFmpeg, libopencv-video-dev के ज़रिए इंस्टॉल किया जाएगा.

    username@DESKTOP-TMVLBJ1:~/mediapipe$ sudo apt-get install libopencv-core-dev libopencv-highgui-dev \
                           libopencv-calib3d-dev libopencv-features2d-dev \
                           libopencv-imgproc-dev libopencv-video-dev
    

    विकल्प 2. सोर्स से OpenCV को अपने-आप बिल्ड करने और MediaPipe के OpenCV कॉन्फ़िगरेशन में बदलाव करने के लिए, setup_opencv.sh चलाएं.

    तीसरा विकल्प. सोर्स कोड से OpenCV को मैन्युअल तरीके से बनाने के लिए, OpenCV के दस्तावेज़ का पालन करें.

    new_local_repository(
        name = "linux_opencv",
        build_file = "@//third_party:opencv_linux.BUILD",
        path = "/usr/local",
    )
    
    cc_library(
        name = "opencv",
        srcs = glob(
            [
                "lib/libopencv_core.so",
                "lib/libopencv_highgui.so",
                "lib/libopencv_imgcodecs.so",
                "lib/libopencv_imgproc.so",
                "lib/libopencv_video.so",
                "lib/libopencv_videoio.so",
            ],
        ),
        hdrs = glob(["include/opencv4/**/*.h*"]),
        includes = ["include/opencv4/"],
        linkstatic = 1,
        visibility = ["//visibility:public"],
    )
    
  8. C++ में Hello World! उदाहरण चलाएं.

    username@DESKTOP-TMVLBJ1:~/mediapipe$ export GLOG_logtostderr=1
    
    # Need bazel flag 'MEDIAPIPE_DISABLE_GPU=1' as desktop GPU is currently not supported
    username@DESKTOP-TMVLBJ1:~/mediapipe$ bazel run --define MEDIAPIPE_DISABLE_GPU=1 \
        mediapipe/examples/desktop/hello_world:hello_world
    
    # Should print:
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    

अगर आपको बिल्ड करने में कोई गड़बड़ी मिलती है, तो कृपया समस्या हल करना लेख पढ़ें. इससे आपको बिल्ड करने से जुड़ी कई सामान्य समस्याओं के समाधान मिलेंगे.

Docker का इस्तेमाल करके इंस्टॉल करना

इसके लिए, Docker इमेज का इस्तेमाल किया जाएगा. इससे, MediaPipe के इंस्टॉल को बाकी सिस्टम से अलग रखा जाएगा.

  1. अपने होस्ट सिस्टम पर Docker इंस्टॉल करें.

  2. "mediamedia" टैग के साथ डॉकर इमेज बनाएं.

    $ git clone --depth 1 https://github.com/google/mediapipe.git
    $ cd mediapipe
    $ docker build --tag=mediapipe .
    
    # Should print:
    # Sending build context to Docker daemon  147.8MB
    # Step 1/9 : FROM ubuntu:latest
    # latest: Pulling from library/ubuntu
    # 6abc03819f3e: Pull complete
    # 05731e63f211: Pull complete
    # ........
    # See http://bazel.build/docs/getting-started.html to start a new project!
    # Removing intermediate container 82901b5e79fa
    # ---> f5d5f402071b
    # Step 9/9 : COPY . /edge/mediapipe/
    # ---> a95c212089c5
    # Successfully built a95c212089c5
    # Successfully tagged mediapipe:latest
    
  3. C++ में Hello World! उदाहरण चलाएं.

    $ docker run -it --name mediapipe mediapipe:latest
    
    root@bca08b91ff63:/mediapipe# GLOG_logtostderr=1 bazel run --define MEDIAPIPE_DISABLE_GPU=1 mediapipe/examples/desktop/hello_world
    
    # Should print:
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    

अगर आपको बिल्ड करने में कोई गड़बड़ी मिलती है, तो कृपया समस्या हल करना लेख पढ़ें. इससे आपको बिल्ड करने से जुड़ी कई सामान्य समस्याओं के समाधान मिलेंगे.

  1. MediaPipe का Android ऐप्लिकेशन बनाएं.

    $ docker run -it --name mediapipe mediapipe:latest
    
    root@bca08b91ff63:/mediapipe# bash ./setup_android_sdk_and_ndk.sh
    
    # Should print:
    # Android NDK is now installed. Consider setting $ANDROID_NDK_HOME environment variable to be /root/Android/Sdk/ndk-bundle/android-ndk-r19c
    # Set android_ndk_repository and android_sdk_repository in WORKSPACE
    # Done
    
    root@bca08b91ff63:/mediapipe# bazel build -c opt --config=android_arm64 mediapipe/examples/android/src/java/com/google/mediapipe/apps/objectdetectiongpu:objectdetectiongpu
    
    # Should print:
    # Target //mediapipe/examples/android/src/java/com/google/mediapipe/apps/objectdetectiongpu:objectdetectiongpu up-to-date:
    # bazel-bin/mediapipe/examples/android/src/java/com/google/mediapipe/apps/objectdetectiongpu/objectdetectiongpu_deploy.jar
    # bazel-bin/mediapipe/examples/android/src/java/com/google/mediapipe/apps/objectdetectiongpu/objectdetectiongpu_unsigned.apk
    # bazel-bin/mediapipe/examples/android/src/java/com/google/mediapipe/apps/objectdetectiongpu/objectdetectiongpu.apk
    # INFO: Elapsed time: 144.462s, Critical Path: 79.47s
    # INFO: 1958 processes: 1 local, 1863 processwrapper-sandbox, 94 worker.
    # INFO: Build completed successfully, 2028 total actions