finds.dev← search

// the find

twilio/video-quickstart-android

★ 215 · Java · MIT · updated Jul 2026

Twilio Video Quickstart for Android

The official Android sample repo for Twilio's Video SDK. It has a Java and Kotlin quickstart app plus separate example modules for custom capturers and sinks, screen capture, raw audio, data tracks, and Notify-based invites. It's aimed at Android developers who need a working reference for one media feature, not a base app to fork as-is.

- Each example is a self-contained module with a narrow focus, such as a custom VideoCapturer that captures a View, a VideoSink that snapshots the last frame, an AudioSink that writes PCM to a WAV, and a DataTrack drawing app. You can lift the one you need without untangling the rest.

- The audio troubleshooting section is candid about device-specific problems. It covers software AEC/NS/AGC toggles, the OpenSL ES blacklist, and a Pixel 3 XL bug where the WebRTC echo canceler mutes the mic system-wide, with a link to the upstream issue.

- The README states that the samples target the 7.x API and links the 1.x through 6.x branches for anyone on an older SDK, so people can find the right reference for their version.

- The Kotlin helpers (codec utils, VideoFrame extensions) sit in a shared common module rather than being copied into each example.

- The 'Custom Renderers and I420Frame' section documents VideoRenderer and I420Frame, which I believe are pre-7.x types, and doesn't say it's out of date. It also links to an exampleCustomVideoRenderer module that doesn't appear in the directory listing, so a reader trying to follow the 7.x path hits a dead end.

- The APK splits snippet is stale: compileSdkVersion and targetSdkVersion 30, the Groovy 'compile' configuration, and the old 'apply plugin' syntax. Pasting it into a current Gradle project fails before any Twilio code runs. The emulator section also still asks for Android Studio 2.0+.

- Getting a first run working is manual. The quickstart expects a CLI-generated access token pasted into local.properties, and that token expires. The token-server path depends on a separate Node project and ngrok, and the repo contains no token server of its own.

- The Video Invite example commits its own google-services.json for a Firebase project. Anyone forking it has to replace that file, and the README doesn't mention this.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →