Rozpoczynanie transmisji na żywo w YouTube na urządzeniach z Androidem

Ten pakiet SDK został całkowicie wycofany. Nie jest już obsługiwana ani obsługiwana przez YouTube. Użyj interfejsu YouTube IFrame Player API.

Precyzyjny link YouTube na żywo umożliwia aplikacjom na Androida rozpoczęcie transmisji na żywo w YouTube bezpośrednio z urządzenia mobilnego. Aplikacja musi tylko udostępnić punkt wejścia (na przykład przycisk, który użytkownik może uruchomić) i rozpocząć transmisję na żywo z urządzenia mobilnego za pomocą mechanizmu intencji Androida.

Przykład

Ten proces przedstawia wrażenia użytkowników aplikacji z precyzyjnymi linkami do aplikacji YouTube, w których użytkownik otwiera ekran konfiguracji Mobilna transmisja na żywo.

  1. Najpierw użytkownik konfiguruje transmisję, wybierając tytuł, tryb prywatności i inne opcje strumienia.
  2. Następnie przechodzi na ekran ze miniaturą, aby ustawić miniaturę strumienia.
  3. Na koniec użytkownik rozpoczyna transmisję na żywo i przesyła obraz z przedniego lub tylnego aparatu.

Wymagania sprzętowe

Aby urządzenia z Androidem prawidłowo obsługiwały transmisje na żywo i precyzyjny link na żywo na urządzeniu mobilnym z Androidem, muszą spełniać te wymagania:

  • Wersja Androida: Marshmallow (API 23) lub nowsza
  • Kamera: co najmniej jedna kamera może nagrywać rozdzielczość 720p przy co najmniej 30 Hz.
  • Mikrofon: włącz mikrofon.
  • Koder audio: sprzętowy akcelerator audio z możliwością kodowania 8-bitowego dźwięku PCM mono do AAC z szybkością 44,1 kHz lub lepszym
  • Koder wideo: akcelerowany sprzętowy koder wideo z kodowaniem 720P nieprzetworzonych filmów do H.264/AVC przy 30 Hz lub lepszym.
  • Zainstalowana aplikacja YouTube: wersja 13.02 lub nowsza

Specyfikacja Mobile Live Intent

Aby połączyć się z transmisją na żywo w aplikacji mobilnej YouTube, aplikacja na Androida uruchamia zamiar. Zamiar inicjuje proces transmitowania na żywo, uruchamiając w aplikacji YouTube Aktywność.

Format intencji

Intencja mobilna na żywo używa niestandardowego ciągu Action, aby uruchamiać aktywność związaną z tworzeniem na żywo w aplikacji YouTube. Określa też nazwę pakietu aplikacji mobilnej YouTube.

  • Działanie:com.google.android.youtube.intent.action.CREATE_LIVE_STREAM
  • Pakiet:com.google.android.youtube

Podobne zamiary

Procesem konfiguracji aplikacji YouTube zajmuje się strumień. Dodatki do intencji określają parametry powiązane z transmisją na żywo:

Parametry
Zamiar.EXTRA_REFERRER Required. Ten parametr określa identyfikator URI, który reprezentuje aplikację uruchamiającą aktywność związaną z transmisją na żywo. Ta wartość musi być podana w formacie android-app: scheme z nazwą pakietu. Wartość ta zapewnia dokładną atrybucję i rachunkowość.
Zamiar.EXTRA_SUBJECT Opcjonalnie. Parametr ten zawiera opis tekstowy transmisji na żywo. Umieszcza się go w pakiecie Intents w ciągu znaków. Wartość może być adnotowana przy użyciu komunikatu dotyczącego marki, np. „Transmisja na żywo z urządzenia DEVICE”.

Rozpoczynanie transmisji na żywo

Krok 1. Sprawdź pomoc

Klient powinien najpierw potwierdzić, że można go uruchomić, sprawdzając, czy aplikacja YouTube jest zainstalowana na urządzeniu i czy jej wersja obsługuje transmitowanie na żywo. Poniższy przykładowy kod definiuje do tego 2 metody:

  • Metoda canResolveMobileLiveIntent sprawdza, czy urządzenie obsługuje Intencję mobilną.
  • validateMobileLiveIntent wywołuje metodę canResolveMobileLiveIntent w kontekście instrukcji if-else.
    • Jeśli urządzenie obsługuje intencję, może rozpocząć proces transmitowania na żywo.
    • Jeśli urządzenie nie obsługuje intencji, może wyświetlić prośbę o zainstalowanie lub uaktualnienie aplikacji YouTube.
private boolean canResolveMobileLiveIntent(Context context) {
  Intent intent = new Intent("com.google.android.youtube.intent.action.CREATE_LIVE_STREAM")
    .setPackage("com.google.android.youtube");
  PackageManager pm = context.getPackageManager();
  List resolveInfo = 
    pm.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
  return resolveInfo != null && !resolveInfo.isEmpty();
}


private void validateMobileLiveIntent(Context context) {
  if (canResolveMobileLiveIntent(context)) {
    // Launch the live stream Activity
  } else {
    // Prompt user to install or upgrade the YouTube app
  }
}

Krok 2. Uruchom aktywność związaną z transmisją na żywo

Aby rozpocząć proces transmitowania na żywo, aplikacja kliencka tworzy intencję, jak pokazano na tym przykładowym kodzie:

private Intent createMobileLiveIntent(Context context, String description) {
  Intent intent = new Intent("com.google.android.youtube.intent.action.CREATE_LIVE_STREAM")
      .setPackage("com.google.android.youtube");
  Uri referrer = new Uri.Builder()
      .scheme("android-app")
      .appendPath(context.getPackageName())
      .build();

  intent.putExtra(Intent.EXTRA_REFERRER, referrer);
  if (!TextUtils.isEmpty(description)) {
    intent.putExtra(Intent.EXTRA_SUBJECT, description);
  }
  return intent;
}


private void startMobileLive(Context context) {
  Intent mobileLiveIntent = createMobileLiveIntent(context, "Streaming via ...");
  startActivity(mobileLiveIntent);
}