[Pelajaran Malam Tadi] MediaPipe

Muhammad Alfiansyah
3 min readNov 19, 2021

--

Photo by the blowup on Unsplash

Emang karena saya orang visual atau lebih suka liat video tutorial dari pada baca tutorial textual sehingga dalam seminggu ini masih belum paham mengenai MediaPipe atau sebenernya saya yang malas baca …ENTAH LAH.

Yang jelas malam tadi akhirnya menemukan cara untuk build MediaPipe yang independent nggak tergantung sama Tulsi.proj yang ada di github MediaPipe.

Walapun sebenernya perjalanan masih agak panjang untuk membangun Liveness framework. But its Oke …paling tidak ada progress.

Oke dari pada lama-lama mending kita bahas bagaimana saya mengimplementasikan MediaPipe pada project saya.

  1. Pertama temen2 harus tau dulu apa itu bazel dan rules nya (bisa dibaca https://bazel.build & https://github.com/bazelbuild/rules_apple)
  2. Setelah mengerti kita bisa lanjut ke step selanjutnya yaitu membuat project baru dengan Xcode (saya sarankan pake xcode 12 jangan yang 13 karena Info.plist nya berbeda)
  3. Setelah itu sesuai dengan contoh nya pada HelloWorld di MediaPipe, copy file2 yang dibutuhkan (bisa dibaca https://google.github.io/mediapipe/getting_started/hello_world_ios.html)
  4. Pindahkan file2 yang dibutuhkan ke dalam folder MediaPipe (contoh: MediaPipe/mediapipe/example/ios/Liveness)
  5. Buat BUILD file untuk mendeklarasikan ios_application kita
  6. Setelah itu kita buat .tulsiproj dengan menggunakan Tulsi (bisa dibaca di doc nya https://tulsi.bazel.build) dengan cara masukan WORKSPACE MediaPipe dan BUILD yang sudah kita buat tadi
Buat Tulsi project baru
Add/import MediaPipe default WORKSPACE
Pada + button tambahkan BUILD file yang sudah kita buat tadi
Hasilnya akan seperti ini (makesure nggak ada error)

Selanjutnya pada tab config buat config baru

Buat config baru
pilih ios_aplication sesuai dengan BUILD file
Pilih target (untuk case ini karena di dalam folder example)

Selanjutnya klik save dan generate, Setelah proses generate akan tampil project kita pada xcode.

Proses pertama selesai, selanjutnya tinggal ngoding nya, dengan BUILD file yang sudah include

deps = ["//mediapipe/objc:mediapipe_framework_ios","//mediapipe/objc:mediapipe_input_sources_ios","//mediapipe/objc:mediapipe_layer_renderer",]

Kita bisa import

#import "mediapipe/objc/MPPCameraInputSource.h"

Dan autocompletion nya jalan dengan baik (Kita bisa ngoding di Xcode dengan nyaman)

Untuk step selanjutnya tinggal ngoding dan ikuti tutorial di MediaPipe saja, untuk lebih jelasnya.

Contoh setelah generate .xcodeproj file dengan Tulsi

Usefull Sources

Issue

  1. Bazel version harus 3.7.2 sesuai MediaPipe
  2. Kalo terjadi issue is Numpy installed biasanya ada error di .mobileprovision
  3. Untuk Apple M1 chip simulator nggak bekerja di Bazel 3.7.2 dari info support di Bazel 4.2.1 atau 5 keatas (PreReleased)
  4. Untuk error CFBundlePackageType biasanya terjadi di xcode 13.1 karena $(PRODUCT_BUNDLE_PACKAGE_TYPE) nggak ketemu kalo terjadi isi aja dengan string APPL seperti di website Apple
Result

--

--

No responses yet