Este documento se ha actualizado.
La traducción en Español (España) no está disponible todavía.
Actualización del documento en inglés: 21 may.
Actualización del documento en Español (España): 8 ene.

Support for Live Video API for Facebook

FAQ

El software de transmisión, o software de codificación RTMP, toma la URL de transmisión RTMP y la envía a Facebook. No proporcionamos software de transmisión. Muchas transmisiones en directo utilizan OBS (Open Broadcasting Software) o Player.me. Ambos ofrecen versiones gratuitas.

Puedes empezar a utilizar Live API inmediatamente. Sin embargo, si quieres una transmisión de calidad de producción completa con varias cámaras y gráficos, puede que necesites una o dos semanas, o más, dependiendo de la revisión de la aplicación.

Hay un retraso de unos 4 o 5 segundos desde que transmite en directo hasta que se muestra el vídeo en Facebook. Sabrá que se está retransmitiendo cuando lo vea en la página de prueba (o pública).

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.

No necesariamente. Si quieres hacer una transmisión en dos (o más) páginas distintas, existen codificadores y API disponibles con los que puedes hacerlo, como Wowza y Streamshark. Aunque se puede hacer una transmisión en dos páginas distintas desde un codificador, es recomendable hacerla en una página y compartirla en otras páginas para que se consoliden los comentarios, las reacciones y el número de visitantes.

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

Puedes insertar vídeos en directo con el parámetro embeddable mediante la API de vídeo en directo.

Envía una solicitud POST /{live_video_id} y define el parámetro embeddable como true. Utiliza un identificador de acceso de página o usuario con los mismos permisos necesarios para crear un vídeo en directo.

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

Para obtener el HTML insertado, envía una solicitud GET /{live_video_id}?fields=embed_html. Utiliza un identificador de acceso de página o usuario con los mismos permisos necesarios para crear un vídeo en directo.

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

Ejemplo de respuesta

{ "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}" } 

No. Este es el comportamiento que se espera. Actualmente, no se pueden ver vídeos en directo en la web móvil hasta que están disponibles como VOD (vídeos bajo demanda). Sin embargo, si quieres ver un vídeo en directo en la web móvil que se ha incrustado en otro sitio, se te dirigirá a la aplicación de Facebook para que lo veas.

Existen algunos motivos por los que puede pasar esto. Estas son algunas de las razones más comunes:

  1. Si se reproduce música de fondo en el vídeo en directo, puede que el vídeo se haya desactivado por infracción de copyright. Esto puede pasar tanto durante la reproducción del vídeo en directo como después, al volverlo a ver como VOD.
  2. Puede que tú, u otro autor de la página, hayáis eliminado el vídeo en directo. Si un vídeo en directo se elimina manualmente, no se puede recuperar.
  3. Puede que el vídeo se haya marcado automáticamente por infracción de IP. En tal caso, Facebook te enviará un correo electrónico con un enlace para que revises la desactivación y vuelvas a enviar el vídeo para que lo revise nuestro equipo de directivas.

Esto sucede cuando la transmisión no empieza a sellarse ni a procesarse después de la señal de finalización del vídeo en directo. Asegúrate de haber enviado una solicitud POST con el parámetro end_live_video. Si se repite, notifica el error desde nuestra herramienta de informe de errores y asegúrate de incluir el identificador del vídeo.

Cuando Facebook recibe una transmisión de vídeo con el audio distorsionado o después de recibir los fotogramas, pero antes de volverlos a codificar para su difusión, puede producirse una distorsión del audio. Un posible motivo de este tipo de error es que la velocidad de bits utilizada sea superior a la que admite la conexión entre el extremo de la difusión y los servidores de Facebook. Si pasa eso, o se pierde algún paquete, parte de las pistas de vídeo o audio no se recibirán correctamente, lo que puede provocar una distorsión del audio.

Se pueden producir problemas de sincronización entre el audio y el vídeo cuando se entrega una difusión en directo con un ancho de banda limitado al cliente, o si el cliente no dispone del ancho de banda necesario para verlo en directo. Además, si la transmisión que recibe el servidor de Facebook no está sincronizada, el vídeo en directo tampoco estará sincronizado. Asegúrate de comprobar en el hardware de grabación y codificación los puntos potenciales en que el audio podría estar mal alineado con el vídeo.

La API de vídeo en directo requiere audio. Si intentas transmitir solo vídeo, la transmisión finaliza.

La sección de noticias en directo se puede desactivar debido a un error del codificador o a una conectividad de red deficiente. En tal caso, dispones de 2 o 3 minutos para volver a conectar con la URL de transmisión original que generaste para la publicación en directo. En caso contrario, deberás generar una URL y clave de transmisión nuevas para continuar con la transmisión en directo.

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.

No. Lamentablemente, en este momento, los vídeos en directo no se pueden promocionar.

Actualmente, no existe ningún extremo para crear subtítulos. Sin embargo, puedes añadir subtítulos a las difusiones de LiveVideo cuando finalicen o añadir subtítulos a la transmisión de vídeo en directo a medida que se transmite a nuestros servidores mediante el estándar para subtítulos CEA-608.

Para añadir subtítulos a un LiveVideo que ha finalizado (p. ej., tiene el estado de VOD), consulta nuestro tema de ayuda "¿Cómo puedo añadir subtítulos al vídeo de mi página?". Para añadir subtítulos mediante el estándar CEA-608, consulta nuestra guía sobre subtítulos.

La directiva de vídeo en directo de Facebook no permite incluir anuncios de terceros en las transmisiones en directo. Por ejemplo, no incluyas cortinillas ni anuncios previos al vídeo, durante el vídeo ni posteriores al vídeo.

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.

Para aparecer en el mapa en directo, debes definir la ubicación del vídeo mediante el parámetro place en una solicitud POST /{live_video_id}.

Para restablecer una clave persistente, ve a www.facebook.com/live/create, haz clic en Crear una transmisión en directo, activa la casilla Utilizar una clave de transmisión persistente y, a continuación, haz clic en el botón Restablecer.

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