Android 기기에서 YouTube 실시간 스트림 시작

이 SDK는 완전히 지원 중단되었습니다. 더 이상 YouTube에서 지원하거나 유지관리하지 않습니다. 대신 YouTube IFrame Player API를 사용하세요.

YouTube 모바일 실시간 스트리밍 딥 링크를 사용하면 Android 애플리케이션이 휴대기기에서 YouTube 실시간 스트림을 바로 시작할 수 있습니다. 앱은 사용자가 클릭할 수 있는 버튼과 같이 Android 인텐트 메커니즘을 통해 모바일 실시간 스트리밍을 시작하는 진입점만 제공하면 됩니다.

이 흐름은 사용자가 YouTube 실시간 스트리밍 딥 링크 앱에서 모바일 실시간 스트림 설정 화면으로 이동하는 사용자 환경을 보여줍니다.

  1. 먼저 사용자가 스트림을 구성하여 제목, 공개 설정 모드, 기타 스트림 옵션을 설정합니다.
  2. 그런 다음 사용자가 썸네일 사진 화면으로 이동하여 스트림의 썸네일 이미지를 설정합니다.
  3. 마지막으로 사용자가 실시간 스트림을 시작하고 전면 또는 후면 카메라에서 뷰를 브로드캐스트합니다.

기기 요구사항

Android 기기에서 YouTube 실시간 스트리밍 및 모바일 실시간 스트리밍 딥 링크를 제대로 지원하려면 다음 요구사항을 충족해야 합니다.

  • Android 출시: Marshmallow (API 23) 이상
  • 카메라: 30Hz에서 720p를 녹화할 수 있는 하나 이상의 카메라
  • 마이크: 내장 마이크
  • 오디오 인코더: 44.1KHz 이상에서 8비트 PCM 모노 오디오를 AAC로 인코딩할 수 있는 하드웨어 가속 오디오 인코더
  • 동영상 인코더: 720P 원본 동영상을 30Hz 이상에서 H.264/AVC로 인코딩할 수 있는 하드웨어 가속 동영상 인코더
  • YouTube 앱 설치됨: 버전 13.02 이상

모바일 실시간 인텐트 사양

YouTube 모바일 실시간 스트리밍 흐름에 연결하기 위해 Android 앱에서 인텐트를 실행합니다. 인텐트는 YouTube 애플리케이션에서 활동을 시작하여 실시간 스트리밍 프로세스를 시작합니다.

인텐트 형식

모바일 실시간 인텐트는 맞춤 Action 문자열을 사용하여 YouTube 앱 내 실시간 제작 활동으로 이동합니다. 또한 YouTube 모바일 앱의 패키지 이름도 지정합니다.

  • 작업: “com.google.android.youtube.intent.action.CREATE_LIVE_STREAM
  • 패키지: 'com.google.android.youtube'

인텐트 추가 항목

YouTube 애플리케이션 설정 흐름이 스트림 구성을 처리합니다. 다음 인텐트 추가 항목은 실시간 스트림과 연결된 매개변수를 설정합니다.

매개변수
인텐트.EXTRA_REFERRER 필수사항: 이 매개변수는 실시간 스트리밍 활동을 시작하는 애플리케이션을 나타내는 URI를 지정합니다. 이 값은 패키지 이름이 있는 android-app: scheme 형식을 따라야 합니다. 이 값을 사용하면 정확한 기여 분석과 회계가 가능합니다.
인텐트.EXTRA_SUBJECT 선택사항. 이 매개변수는 실시간 스트림에 대한 텍스트 설명을 제공합니다. 인텐트 추가 항목 번들에 String으로 배치됩니다. 이 값을 사용하여 'DEVICE에서 실시간 스트리밍됨'과 같은 브랜드 메시지로 스트림에 주석을 추가할 수 있습니다.

실시간 스트리밍 흐름 시작

1단계: 지원 확인하기

클라이언트는 먼저 기기에 YouTube 앱이 설치되어 있고 YouTube 앱 버전이 실시간 스트리밍을 지원하는지 확인하여 모바일 실시간 인텐트를 실행할 수 있는지 확인해야 합니다. 다음 코드 샘플은 이를 위한 두 가지 메서드를 정의합니다.

  • canResolveMobileLiveIntent 메서드는 기기가 모바일 실시간 인텐트를 지원하는지 확인합니다.
  • validateMobileLiveIntentif-else 문의 컨텍스트에서 canResolveMobileLiveIntent 메서드를 호출합니다.
    • 기기가 인텐트를 지원하는 경우 실시간 스트림 흐름을 시작할 수 있습니다.
    • 기기가 인텐트를 지원하지 않는 경우 사용자에게 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
  }
}

2단계: 실시간 스트림 활동 실행하기

실시간 스트리밍 흐름을 시작하기 위해 클라이언트 앱이 다음 코드 샘플과 같이 인텐트를 만들고 실행합니다.

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);
}