Dieses Dokument wurde aktualisiert.
Die Übersetzung ins Deutsche ist noch nicht fertig.
Englisch aktualisiert: 21. Mai
Deutsch aktualisiert: 29.10.2021

Support for Live Video API for Facebook

FAQ

Streaming-Software bzw. RTMP-Kodiersoftware sendet die RTMP-Stream-URL und den entsprechenden Schlüssel an Facebook. Wir stellen keine Streaming-Software zur Verfügung. Viele Live Streams können OBS (Open Broadcasting Software) oder Player.me verwenden; beide bieten kostenlose Versionen an.

Du kannst sofort mit der Live API arbeiten. Wenn du jedoch einen Stream in voller Produktionsqualität mit mehrere Kameras und Grafiken erstellen möchtest, kann es abhängig vom App Review ein bis zwei Wochen dauern.

Dein Video wird nach dem Start der Live-Übertragung mit einer Verzögerung von vier bis fünf Sekunden auf Facebook angezeigt. Du weißt, wann es soweit ist, wenn du die Wiedergabe des Videos auf deiner Testseite (oder öffentlichen Seite) siehst.

If you are having issues with your live streams, please refer to our guides to make sure that you are using our API correctly. We also recommend reviewing our video specifications to ensure that your settings are best suited for a quality live stream. If you believe you have run into a bug, you can send it directly to our Bug Tool and an engineer will get back to you.

Yes you can! The second stream will likely get fewer inferred notifications than the first. Please refer to our Best Practices documentation for more information on how notifications work.

Nicht unbedingt. Wenn du auf zwei (oder mehr) verschiedene Seiten streamen möchtest, gibt es Encoder und APIs, mit denen dies möglich ist, beispielsweise Wowza und Streamshark. Das Streamen auf verschiedene Seiten von einem einzelnen Encoder ist zwar möglich, wir empfehlen jedoch, nur auf eine Seite zu streamen. Für die anderen Seiten sollte der Inhalt dann geteilt werden. So werden die Kommentare, Reaktionen und Betrachterzahlen konsolidiert.

Our default aspect ratio is 16x9, though we infer the aspect ratio from the stream. For complete specifications, see our reference.

Du kannst Live-Videos mit dem Parameter embeddable über die Live Video API einbetten.

Sende eine POST /{live_video_id}-Anfrage und lege den Parameter embeddable auf true fest. Verwende einen Seiten- oder Nutzer-Zugriffsschlüssel mit den gleichen Berechtigungen, die auch zum Erstellen eines Live-Videos erforderlich sind.

curl -i -X POST \
 "https://graph.facebook.com/{your-live-video-id}
   ?embeddable=true&access_token={your-access-token}"
GraphRequest request = GraphRequest.newPostRequest(
  accessToken,
  "/{your-live-video-id}",
  new JSONObject("{}"),
  new GraphRequest.Callback() {
    @Override
    public void onCompleted(GraphResponse response) {
      // Insert your code here
    }
});
request.executeAsync();
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
    initWithGraphPath:@"/{your-live-video-id}"
           parameters:@{ @"embeddable": @"true",}
           HTTPMethod:@"POST"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
    // Insert your code here
}];
FB.api(
  '/{your-live-video-id}',
  'POST',
  {"embeddable":"true"},
  function(response) {
      // Insert your code here
  }
);
try {
  // Returns a `FacebookFacebookResponse` object
  $response = $fb->post(
    '/{your-live-video-id}',
    array (
      'embeddable' => 'true'
    ),
    '{access-token}'
  );
} catch(FacebookExceptionsFacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(FacebookExceptionsFacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();

Um den eingebetteten HTML-Inhalt abzurufen, sende eine GET /{live_video_id}?fields=embed_html-Anfrage. Verwende einen Seiten- oder Nutzer-Zugriffsschlüssel mit den gleichen Berechtigungen, die auch zum Erstellen eines Live-Videos erforderlich sind.

curl -i -X GET \
 "https://graph.facebook.com/{your-live_video_id}
   ?fields=embed_html
   &access_token={your-access-token}"
GraphRequest request = GraphRequest.newGraphPathRequest(
  accessToken,
  "/{your-live_video_id}",
  new GraphRequest.Callback() {
    @Override
    public void onCompleted(GraphResponse response) {
      // Insert your code here
    }
});

Bundle parameters = new Bundle();
parameters.putString("fields", "embed_html");
request.setParameters(parameters);
request.executeAsync();
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
    initWithGraphPath:@"/{your-live_video_id}"
           parameters:@{ @"fields": @"embed_html",}
           HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
    // Insert your code here
}];
FB.api(
  '/{your-live_video_id}',
  'GET',
  {"fields":"embed_html"},
  function(response) {
      // Insert your code here
  }
);
try {
  // Returns a `FacebookFacebookResponse` object
  $response = $fb->get(
    '/{your-live_video_id}',
    '{access-token}'
  );
} catch(FacebookExceptionsFacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(FacebookExceptionsFacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();

Beispielantwort

{ "embed_html": "<iframe src=\"https://www.facebook.com/plugins/video.php?href=https%3A%2F%2Fwww.facebook.com%2Fyourpage%2Fvideos%2F{your-page-id}%2F&width=0\" width=\"0\" height=\"0\" style=\"border:none;overflow:hidden\" scrolling=\"no\" frameborder=\"0\" allowTransparency=\"true\" allowFullScreen=\"true\"></iframe>", "id": "{your-live-video-id}" } 

Nein, das ist das erwartete Verhalten. Das Ansehen von Live-Video im mobilen Web wird derzeit von uns nicht unterstützt. Dies ist erst dann möglich, wenn Videos den Status „VOD“ (Video-on-Demand) haben. Wenn du dir jedoch ein Live-Video im mobilen Web ansehen möchtest, das in eine andere Website eingebettet wurde, wirst du zur Facebook-App umgeleitet.

Dies kann verschiedene Ursachen haben. Hier einige der häufigsten:

  1. Wenn im Hintergrund deines Live-Videos Musik läuft, wird dein Video möglicherweise aufgrund von Urheberrechtsverstößen abgeschaltet. Dies kann entweder während des Live-Videos ober danach, beim erneuten Abspielen des VOD, passieren.
  2. Möglicherweise wurde das Live-Video von dir oder einem anderen Autor der Seite gelöscht. Ein manuell gelöschtes Live-Video kann nicht wiederhergestellt werden.
  3. Möglicherweise wurde dein Video automatisch wegen eines Schutzrechtsverstoßes gekennzeichnet. In diesem Fall sendet dir Facebook eine E-Mail mit einem Link, unter dem du die Abschaltung prüfen und das Video erneut zur Bewertung an unser Richtlinien-Team senden kannst.

Dies geschieht, wenn nicht mit dem Versiegeln oder Verarbeiten der Übertragung begonnen wird, nachdem das Ende des Live-Videos signalisiert wurde. Vergewissere dich, dass du eine POST-Anforderung mit dem Parameter end_live_video gesendet hast. Wenn das Problem erneut auftritt, melde einen Fehler unter Angabe der Video-ID in unserer Fehlerfunktion.

Es kann zu einer Audioverzerrung kommen, wenn Facebook einen Video-Stream mit verzerrten Audiosignalen erhält. Außerdem kann dies in der Zeit zwischen dem Eingang der Frames bei uns und der erneuten Kodierung zur Übertragung passieren. Diese Art von Fehler kann dadurch entstehen, dass eine höhere Bitrate verwendet wird, als die Verbindung zwischen dem übertragenden Endpunkt und den Facebook-Servern unterstützt. In diesem Fall oder bei einem Paketverlust wird ein Teil der Video- oder Audiospur nicht vollständig empfangen, was zu einer Audioverzerrung führen kann.

Probleme bei der Audio-/Videosynchronisierung treten auf, wenn eine Live-Übertragung mit eingeschränkter Bandbreite an den Client ausgeliefert wird oder wenn auf dem Client nicht genügend Bandbreite für eine Live-Anzeige verfügbar ist. Wenn der vom Facebook-Server empfangene Stream nicht synchron ist, dann ist auch das Live-Video nicht synchron. Überprüfe die Aufnahme- und Kodier-Hardware auf mögliche Stellen, an denen eine Fehlausrichtung von Audio und Video auftreten kann.

Die Live Video API erfordert Audio. Wenn du versucht, nur Video zu streamen, wird der Stream beendet.

Dein Live Feed kann aufgrund eines Encoder-Fehler oder einer schlechten Netzwerkverbindung abbrechen. In diesem Fall hast du zwei bis drei Minuten Zeit, um die Verbindung zu der ursprünglichen Stream-URL wiederherzustellen, die du für deinen Live Post generiert hast. Andernfalls musst du einen neuen Schlüssel und eine neue URL für den Stream generieren, um den Live Stream fortzusetzen.

Yes, you can geo-gate (restrict who can see your video depending on the viewer's location). See Audience Targeting to learn how.

Yes, videos taken down for copyright violation can be restored. You should receive a notification that gives you the option to restore the video. However, if you do not take this action when you receive the notification, the video can no longer be restored.

Nein. Live-Videos können derzeit leider nicht beworben werden.

Derzeit gibt es keinen Endpunkt zum Erstellen von Bildunterschriften. Du kannst jedoch einer Live-Video-Übertragung Bildunterschriften hinzufügen, nachdem die Übertragung beendet ist. Alternativ kannst du deinem Live-Video-Stream während des Streamings zu unseren Servern mit dem CEA-608-Standard für Untertitel Bildunterschriften hinzufügen.

Wie du Bildunterschriften zu einem beendeten Live-Video hinzufügst (d. h. einem Video mit dem Status „VOD“), erfährst du im Hilfethema Wie füge ich einem Video auf meiner Seite Bildunterschriften hinzu? Informationen zum Hinzufügen von Bildunterschriften mit dem CEA-608-Standard findest du in unserem Leitfaden zu Bildunterschriften.

Es verstößt gegen die Live-Video-Richtlinie von Facebook, Werbeanzeigen von Drittanbietern in Live Streams aufzunehmen. Du darfst beispielsweise keine Bumber, Pre-Rolls, Mid-Rolls oder Post-Rolls einschließen.

We encourage all live broadcasts to exclusively contain live content so as to preserve the integrity of the viewer's experience. However, there are unique cases in which cutting to a pre-recorded clip makes sense, similar to how a news show might show previously recorded content on live TV.

Yes, refer to our Crossposting guide and How do I crosspost another Page's video? Help Center topic to learn how. Comments and reactions are shown only in the original Page.

Damit du auf der Live-Karte angezeigt wirst, musst du den Standort deines Videos mit dem Parameter place in einer POST /{live_video_id}-Anforderung festlegen.

Um einen permanenten Schlüssel zurückzusetzen, gehe zu www.facebook.com/live/create, klicke auf Live-Stream erstellen, aktiviere das Kontrollkästchen Verwendung eines permanenten Stream-Schlüssels und klicke dann auf den Button Zurücksetzen.

Reporting Bugs

If you believe you may have found a bug in the Live API, please file a bug report in our bug tool and an engineer will take a look at it shortly. You can also search for existing bugs by API error codes, SDK methods, and more.

Report a Bug