OpenTok Publisher. En savoir plus...

#include "base.h" #include "config.h" #include "stream.h" #include "video_frame.h" #include "camera_capture_resolution.h" #include "media_transformer.h" #include "video_capturer.h" #include "media_utils.h"

Macros
#define OTC_MAX_VIDEO_LAYERS   3
Définitions de types
typedef struct otc_publisher otc_publisher
typedef struct otc_paramètres_éditeur otc_paramètres_éditeur
Énumérations
énumération otc_publisher_error_code {   OTC_PUBLISHER_INTERNAL_ERROR = 2000, OTC_PUBLISHER_SESSION_DISCONNECTED , OTC_PUBLISHER_TIMED_OUT = 1541 , OTC_PUBLISHER_UNABLE_TO_PUBLISH = 1 500,   OTC_PUBLISHER_WEBRTC_ERROR = 1610, OTC_PUBLISHER_ENCRYPTION_INTERNAL_ERROR , OTC_PUBLISHER_ENCRYPTION_UNSUPPORTED_CODEC = 6005 }
énumération otc_publisher_video_type { OTC_PUBLISHER_VIDEO_TYPE_CAMERA = 1, OTC_PUBLISHER_VIDEO_TYPE_SCREEN = 2 }
énumération otc_media_type { OTC_MEDIA_TYPE_VIDEO = 0 , OTC_MEDIA_TYPE_AUDIO }
Type de média.
énumération otc_video_bitrate_preset { OTC_VIDEO_BITRATE_PRESET_DEFAULT , OTC_VIDEO_BITRATE_PRESET_BW_SAVER , OTC_VIDEO_BITRATE_PRESET_EXTRA_BW_SAVER , OTC_VIDEO_BITRATE_PRESET_CUSTOM }
Stratégies prédéfinies pour contrôler le débit binaire vidéo dans le flux d'un éditeur. En savoir plus...
énumération otc_degradation_preference {   OTC_DEGRADATION_PREFERENCE_NOT_SET = -1 , OTC_DEGRADATION_PREFERENCE_MAINTAIN_FRAMERATE_AND_RESOLUTION = 0 , OTC_DEGRADATION_PREFERENCE_MAINTAIN_FRAMERATE = 1, OTC_DEGRADATION_PREFERENCE_MAINTAIN_RESOLUTION = 2 ,   OTC_DEGRADATION_PREFERENCE_BALANCED = 3 }
Décrit la stratégie que le moteur vidéo s'efforcera de suivre pour adapter la fréquence d'images et la résolution à une bande passante et à une puissance de calcul limitées. Il s'agit d'une stratégie « au mieux ». Aucune garantie n'est donnée quant à la fréquence d'images et certaines images peuvent tout de même être sautées pour d'autres raisons. En savoir plus...
Fonctions
otc_publisher * otc_publisher_new (const char *nom, const struct otc_video_capturer_callbacks *capturer, structure constante otc_publisher_callbacks *rappels)
otc_paramètres_éditeur * otc_publisher_settings_new ()
otc_status otc_publisher_settings_delete (otc_paramètres_éditeur *paramètres)
otc_status otc_publisher_settings_set_name (otc_paramètres_éditeur *paramètres, const char *nom)
otc_status otc_publisher_settings_set_video_capturer (otc_paramètres_éditeur *paramètres, structure constante otc_video_capturer_callbacks *captureur)
otc_status otc_publisher_settings_set_audio_track (otc_paramètres_éditeur *paramètres, otc_bool (activé)
otc_status otc_publisher_settings_set_video_track (otc_paramètres_éditeur *paramètres, otc_bool (activé)
otc_status otc_publisher_settings_set_sender_stats_track (otc_paramètres_éditeur *paramètres, otc_bool (activé)
otc_status otc_publisher_settings_set_stereo (otc_paramètres_éditeur *paramètres, otc_bool (activé)
otc_status otc_publisher_settings_set_opus_dtx (otc_paramètres_éditeur *paramètres, otc_bool (activé)
otc_status otc_publisher_settings_set_auto_gain_control (otc_paramètres_éditeur *paramètres, otc_bool (activé)
otc_status otc_publisher_settings_set_noise_suppression (otc_paramètres_éditeur *paramètres, otc_bool (activé)
otc_status otc_publisher_settings_set_echo_cancellation (otc_paramètres_éditeur *paramètres, otc_bool (activé)
otc_status otc_publisher_settings_set_disable_audio_processing (otc_paramètres_éditeur *paramètres, otc_bool (désactivé)
otc_status otc_publisher_settings_set_default_camera_capture_resolution (otc_paramètres_éditeur *paramètres, énumération constante otc_camera_capture_resolution (résolution_de_capture_de_la_caméra)
otc_status otc_publisher_settings_set_scalable_screenshare (otc_paramètres_éditeur *paramètres, const otc_bool (activé)
otc_status otc_publisher_settings_set_allow_audio_capture_while_muted (otc_paramètres_éditeur *paramètres, const otc_bool (activé)
otc_publisher * otc_publisher_new_with_settings (struct const otc_publisher_callbacks *rappels, otc_paramètres_éditeur *paramètres)
otc_status otc_publisher_delete (otc_publisher *éditeur)
otc_stream * otc_publisher_get_stream (otc_publisher *éditeur)
otc_status otc_publisher_set_publish_video (otc_publisher *éditeur, otc_bool publish_video)
otc_status otc_publisher_set_publish_audio (otc_publisher *éditeur, otc_bool publish_audio)
otc_status otc_publisher_set_publish_captions (otc_publisher *éditeur, otc_bool publish_captions)
otc_bool otc_publisher_get_publish_video (const otc_publisher *éditeur)
otc_bool otc_publisher_get_publish_audio (const otc_publisher *éditeur)
otc_bool otc_publisher_get_publish_captions (const otc_publisher *éditeur)
otc_session * otc_publisher_get_session (const otc_publisher *éditeur)
otc_status otc_publisher_set_max_audio_bitrate (otc_publisher *éditeur, débit binaire uint32_t)
otc_status otc_publisher_set_rtc_stats_report_cb (otc_publisher *éditeur, structure constante otc_publisher_rtc_stats_report_cb cb)
otc_status otc_publisher_get_rtc_stats_report (const otc_publisher *éditeur)
const char * otc_publisher_get_publisher_id (const otc_publisher *éditeur)
otc_status otc_publisher_set_video_type (struct otc_publisher *éditeur, énumération otc_publisher_video_type type_vidéo)
énumération otc_publisher_video_type otc_publisher_get_video_type (struct const otc_publisher *éditeur)
void * otc_publisher_get_user_data (struct const otc_publisher *éditeur)
const char * otc_publisher_get_name (struct const otc_publisher *éditeur)
otc_status otc_publisher_set_video_transformers (otc_publisher *éditeur, otc_video_transformer **transformateurs, taille uint8_t)
Définit un tableau de transformateurs vidéo pour le flux vidéo de ce diffuseur. Si la valeur est nulle, les transformateurs sont réinitialisés. En savoir plus...
otc_status otc_publisher_set_audio_transformers (otc_publisher *éditeur, otc_audio_transformer **transformateurs, taille uint8_t)
Définit un tableau de transformateurs audio pour le flux audio de cet éditeur. Si la valeur est nulle, les transformateurs sont réinitialisés. En savoir plus...
otc_status otc_publisher_set_target_scalability_mode (otc_publisher *publisher, const char *scalability_mode)
Définit le mode d'évolutivité cible (SVC - Scalable Video Coding) pour cet éditeur. Le mode d'évolutivité contrôle le nombre de couches spatiales (résolution) et temporelles (fréquence d'images) que WebRTC encode. Ce mode s'applique uniquement à la connexion entre pairs acheminée (éditeur ↔ SFU), quelle que soit la branche actuellement active. En savoir plus...
const char * otc_publisher_get_target_scalability_mode (otc_publisher *éditeur)
Récupère le mode d'évolutivité cible qui a été explicitement défini via otc_publisher_set_target_scalability_mode. Renvoie la dernière valeur transmise au setter, ou NULL si le setter n'a jamais été appelé. Cela reflète l'intention de l'utilisateur, et non le mode effectivement appliqué (qui peut différer en raison d'un repli dépendant du codec). En savoir plus...
otc_status otc_publisher_set_max_video_bitrate (otc_publisher *éditeur, int débit_bps)
Récupère le débit binaire vidéo maximal défini pour le flux vidéo de cet éditeur. En savoir plus...
int otc_publisher_get_max_video_bitrate (const otc_publisher *éditeur)
Récupère le débit binaire vidéo maximal défini pour le flux vidéo de cet éditeur. En savoir plus...
otc_status otc_publisher_set_video_bitrate_preset (otc_publisher *éditeur, énumération otc_video_bitrate_preset (préréglage)
Définit un préréglage de débit binaire vidéo pour le flux vidéo de cet éditeur. En savoir plus...
énumération otc_video_bitrate_preset otc_publisher_get_video_bitrate_preset (const otc_publisher *éditeur)
Récupère le préréglage de débit binaire vidéo actuellement actif pour le flux de cet éditeur. En savoir plus...
otc_status otc_publisher_set_degradation_preference (otc_publisher *éditeur, énumération otc_degradation_preference (préférence_de_dégradation)
Définit la stratégie privilégiée que le moteur vidéo suivra pour adapter la fréquence d'images et la résolution en fonction d'une bande passante limitée et de la charge du processeur. Voir otc_degradation_preference pour une description des valeurs possibles. En savoir plus...
énumération otc_degradation_preference otc_publisher_get_degradation_preference (const otc_publisher *éditeur)
Récupère la stratégie privilégiée que le moteur vidéo appliquera pour adapter la fréquence d'images et la résolution en fonction d'une bande passante limitée et de la charge du processeur. Voir otc_degradation_preference pour une description des valeurs possibles. En savoir plus...
otc_status otc_publisher_settings_set_subscriber_audio_fallback_enabled (otc_paramètres_éditeur *paramètres, const otc_bool (activé)
otc_status otc_publisher_settings_set_publisher_audio_fallback_enabled (otc_paramètres_éditeur *paramètres, const otc_bool (activé)
otc_status otc_publisher_settings_set_preferred_video_codecs (otc_paramètres_éditeur *paramètres, const otc_type_de_codec_vidéo *codecs, size_t num_codecs)
Définit les codecs vidéo à privilégier pour le flux de cet éditeur. En savoir plus...
otc_status otc_publisher_settings_set_preferred_video_codecs_automatic (otc_paramètres_éditeur *paramètres)
Active la hiérarchisation automatique des codecs pour le flux de cet éditeur. En savoir plus...

Description détaillée

OpenTok Publisher.

Ce fichier contient la définition de type d'un éditeur OpenTok ainsi que plusieurs déclarations de fonctions.

Documentation sur `typedef`

otc_publisher

typedef struct otc_publisher otc_publisher

Définition du type d'éditeur OpenTok.

Type représentant un diffuseur d'un flux audio-vidéo vers une session OpenTok.

otc_paramètres_éditeur

Définition du type de paramètres d'éditeur OpenTok.

Documentation sur les types d'énumération

otc_degradation_preference

Décrit la stratégie que le moteur vidéo s'efforcera de suivre pour adapter la fréquence d'images et la résolution à une bande passante et à une puissance de calcul limitées. Il s'agit d'une stratégie « au mieux ». Aucune garantie n'est donnée quant à la fréquence d'images et certaines images peuvent tout de même être sautées pour d'autres raisons.

Pour plus de détails, voir Préférence de dégradation.

Recenseur
OTC_DEGRADATION_PREFERENCE_NOT_SET Valeur par défaut. Le moteur vidéo déterminera le niveau de dégradation optimal.
OTC_DEGRADATION_PREFERENCE_MAINTAIN_FRAMERATE_AND_RESOLUTION Le moteur vidéo ne réduira pas la résolution et s'efforcera de maintenir une fréquence d'images constante. Dans certaines versions de la norme, cette option est désignée par « DISABLED », ce qui signifie qu'aucune dégradation ne sera appliquée lorsque les ressources sont limitées.
OTC_DEGRADATION_PREFERENCE_MAINTAIN_FRAMERATE Le moteur vidéo s'efforcera de maintenir une fréquence d'images constante, mais pourra réduire la résolution si nécessaire.
OTC_DEGRADATION_PREFERENCE_MAINTAIN_RESOLUTION Le moteur vidéo ne réduira pas la résolution, mais pourra réduire la fréquence d'images si nécessaire.
OTC_DEGRADATION_PREFERENCE_BALANCED Le moteur vidéo s'efforcera de trouver un juste équilibre entre la réduction de la résolution et celle de la fréquence d'images lorsque cela s'avérera nécessaire.

otc_publisher_error_code

énumération otc_publisher_error_code

Liste des codes d'erreur pour les éditeurs OpenTok.

Cette énumération regroupe plusieurs codes d'erreur associés à un éditeur.

Recenseur
OTC_PUBLISHER_INTERNAL_ERROR Erreur interne.
OTC_PUBLISHER_SESSION_DISCONNECTED Erreur lors de la tentative d'activation des sous-titres dans une session à laquelle vous n'êtes pas connecté.
OTC_PUBLISHER_TIMED_OUT Délai d'attente dépassé lors de la tentative de publication.
OTC_PUBLISHER_UNABLE_TO_PUBLISH Erreur : impossible de publier.
OTC_PUBLISHER_WEBRTC_ERROR Erreur WebRTC.
OTC_PUBLISHER_ENCRYPTION_INTERNAL_ERROR Erreur interne lors du chiffrement d'un paquet
OTC_PUBLISHER_ENCRYPTION_UNSUPPORTED_CODEC Codec multimédia non pris en charge pour le chiffrement

otc_publisher_video_type

énumération otc_publisher_video_type

Énumération des types de vidéos par éditeur.

Cette liste répertorie les différents types de vidéos pris en charge.

Recenseur
OTC_PUBLISHER_VIDEO_TYPE_CAMERA Flux vidéo de la caméra.
OTC_PUBLISHER_VIDEO_TYPE_SCREEN Capture d'écran d'un flux vidéo.

otc_video_bitrate_preset

énumération otc_video_bitrate_preset

Stratégies prédéfinies pour contrôler le débit binaire vidéo dans le flux d'un éditeur.

Ces préréglages permettent aux développeurs d'appliquer des stratégies de bande passante sans avoir à spécifier manuellement les débits binaires. Les préréglages s'excluent mutuellement de la configuration manuelle des débits binaires.

Pour plus de détails, voir Publisher Max Bitrate.

Recenseur
OTC_VIDEO_BITRATE_PRESET_DEFAULT Réglage par défaut. Aucune restriction supplémentaire n'est appliquée. Il s'agit du mode par défaut.
OTC_VIDEO_BITRATE_PRESET_BW_SAVER Préréglage « Économie de bande passante ». Applique des restrictions modérées afin de réduire la consommation de bande passante tout en conservant une qualité vidéo raisonnable.
OTC_VIDEO_BITRATE_PRESET_EXTRA_BW_SAVER Préréglage « Économie de bande passante » supplémentaire. Applique des contraintes strictes afin de réduire au minimum l'utilisation de la bande passante.
OTC_VIDEO_BITRATE_PRESET_CUSTOM Débit binaire personnalisé. Correspond à un débit binaire configuré manuellement à l'aide de otc_publisher_set_max_video_bitrate(). Cette valeur est renvoyée par le getter du préréglage uniquement à des fins de suivi interne et ne peut pas être transmise au setter du préréglage.

Documentation des fonctions

otc_publisher_delete()

otc_status otc_publisher_delete ( otc_publisher * éditeur )

Libère une instance d'éditeur, ainsi que toutes les ressources matérielles qui lui sont associées.

Paramètres : | | | | --- | --- | | éditeur | L'instance d'éditeur à supprimer. |

Valeurs de retour : Valeur de retour indiquant soit une erreur, soit une réussite.

otc_publisher_get_degradation_preference()

énumération otc_degradation_preference otc_publisher_get_degradation_preference ( const otc_publisher * éditeur )

Récupère la stratégie privilégiée que le moteur vidéo appliquera pour adapter la fréquence d'images et la résolution en fonction d'une bande passante limitée et de la charge du processeur. Voir otc_degradation_preference pour une description des valeurs possibles.

Paramètres : | | | | | --- | --- | --- | | [in] | publisher | L'instance de l'éditeur. |

Retourne : La préférence de dégradation actuelle.

otc_publisher_get_max_video_bitrate()

int otc_publisher_get_max_video_bitrate ( const otc_publisher * éditeur )

Récupère le débit binaire vidéo maximal défini pour le flux vidéo de cet éditeur.

Renvoie le débit binaire vidéo maximal actuellement configuré, en bits par seconde (bps). Si aucun débit binaire n'a été défini manuellement via otc_publisher_set_max_video_bitrate(), ou si un préréglage est actif (y compris celui par défaut), cette fonction renvoie 0.

Remarque : Une valeur de retour égale à 0 indique qu'aucune limite de débit binaire explicite n'est appliquée et que le flux utilise plutôt un comportement basé sur des préréglages.

Paramètres : | | | | | --- | --- | --- | | [in] | publisher | L'instance de l'éditeur. |

Retourne : Le débit binaire vidéo maximal actuel, exprimé en bits par seconde, ou 0 s'il n'a pas été défini manuellement.

otc_publisher_get_name()

const char * otc_publisher_get_name ( const struct otc_publisher * éditeur )

Récupère le nom d'un éditeur donné.

Paramètres : | | | | --- | --- | | publisher | L'instance de l'éditeur. |

Renvoie : Le nom.

otc_publisher_get_publish_audio()

otc_bool otc_publisher_get_publish_audio ( const otc_publisher * éditeur )

Indique si l'éditeur diffuse du contenu audio ou non.

Paramètres : | | | | --- | --- | | publisher | L'instance de l'éditeur. |

Retours : Indique si l'éditeur publie ou non du contenu audio.

otc_publisher_get_publish_captions()

otc_bool otc_publisher_get_publish_captions ( const otc_publisher * éditeur )

Indique si l'éditeur dispose de sous-titres actifs.

Paramètres : | | | | --- | --- | | publisher | L'instance de l'éditeur. |

Retours : Indique si l'éditeur a activé ou non les sous-titres.

otc_publisher_get_publish_video()

otc_bool otc_publisher_get_publish_video ( const otc_publisher * éditeur )

Indique si l'éditeur publie ou non une vidéo.

Paramètres : | | | | --- | --- | | publisher | L'instance de l'éditeur. |

Retours : Indique si l'éditeur publie ou non des vidéos.

otc_publisher_get_publisher_id()

const char * otc_publisher_get_publisher_id ( const otc_publisher * éditeur )

Récupère l'identifiant unique d'un éditeur.

Paramètres : | | | | --- | --- | | publisher | L'instance de l'éditeur. |

Résultats : Identifiant unique de l'éditeur. En cas d'erreur, cette valeur est nulle.

otc_publisher_get_rtc_stats_report()

otc_status otc_publisher_get_rtc_stats_report ( const otc_publisher * éditeur )

Récupère le rapport statistique RTC de l'éditeur. Il s'agit d'une opération asynchrone. Créez un otc_publisher_rtc_stats_report_cb et la passer dans la structure otc_publisher_set_rtc_stats_report_cb fonction avant d'appeler cette fonction. Lorsque les statistiques sont disponibles, la otc_publisher_set_rtc_stats_report_cb est appelée.

Voir aussi otc_publisher_callbacks.on_audio_stats, otc_publisher_callbacks.on_video_statset otc_subscriber_get_rtc_stats_report.

Paramètres : | | | | --- | --- | | éditeur | L'éditeur. |

otc_publisher_get_session()

otc_session * otc_publisher_get_session ( const otc_publisher * éditeur )

Renvoie le otc_session associée à cette instance d'éditeur.

Paramètres : | | | | --- | --- | | publisher | L'instance de l'éditeur. |

Retours : Le otc_session associée à cette instance. En cas d'erreur, cette valeur est nulle.

otc_publisher_get_stream()

otc_stream * otc_publisher_get_stream ( otc_publisher * éditeur )

Renvoie le flux associé à l'éditeur. Aucun rappel dans otc_publisher_callbacks sera appelée à la suite de l'appel de cette méthode (ou par la suite).

Paramètres : | | | | --- | --- | | éditeur | L'instance d'éditeur à partir de laquelle récupérer le flux. |

Retourne : Le flux associé à l'éditeur. En cas d'erreur, cette valeur est nulle.

otc_publisher_get_target_scalability_mode()

const char * otc_publisher_get_target_scalability_mode ( otc_publisher * éditeur )

Récupère le mode d'évolutivité cible qui a été explicitement défini via otc_publisher_set_target_scalability_mode. Renvoie la dernière valeur transmise au setter, ou NULL si celui-ci n'a jamais été appelé. Cela reflète l'intention de l'utilisateur, et non le mode effectivement appliqué (qui peut différer en raison d'un repli dépendant du codec).

Il s'agit d'une fonctionnalité en version bêta.

Paramètres : | | | | --- | --- | | publisher | L'instance de l'éditeur. |

Retourne : Le mode d'évolutivité cible défini par l'appelant, ou NULL s'il n'est pas explicitement défini.

otc_publisher_get_user_data()

void * otc_publisher_get_user_data ( const struct otc_publisher * éditeur )

Récupère les données utilisateur d'un éditeur donné.

Paramètres : | | | | --- | --- | | publisher | L'instance de l'éditeur. |

Retourne : Un pointeur vers les données utilisateur en mémoire.

otc_publisher_get_video_bitrate_preset()

énumération otc_video_bitrate_preset otc_publisher_get_video_bitrate_preset ( const otc_publisher * éditeur )

Récupère le préréglage de débit binaire vidéo actuellement actif pour le flux de cet éditeur.

Si un débit binaire personnalisé a déjà été défini à l'aide de otc_publisher_set_max_video_bitrate(), cette méthode renvoie la valeur OTC_VIDEO_BITRATE_PRESET_CUSTOM.

Paramètres : | | | | | --- | --- | --- | | [in] | publisher | L'instance de l'éditeur. |

Retours : Le préréglage de débit binaire actif.

otc_publisher_get_video_type()

énumération otc_publisher_video_type otc_publisher_get_video_type ( const struct otc_publisher * éditeur )

Récupère le type de vidéo de l'éditeur. Voir la section otc_publisher_set_video_type fonction.

Paramètres : | | | | --- | --- | | publisher | L'instance de l'éditeur. |

Retourne : Le type de vidéo de l'éditeur.

otc_publisher_new()

otc_publisher * otc_publisher_new ( const char * nom,
const struct otc_video_capturer_callbacks * captureur,
const struct otc_publisher_callbacks * rappels
)

Crée une nouvelle instance de `otc_publisher`.

Paramètres : | | | | --- | --- | | name | Le nom de l'éditeur. Les autres clients peuvent récupérer les noms des flux de la session. | | capturer | Utilisez ce paramètre si vous souhaitez fournir un capteur vidéo personnalisé. S'il est défini sur null, l'éditeur utilise un capteur vidéo par défaut qui exploite la caméra du système. | | callbacks | Un pointeur vers la structure contenant les pointeurs vers les fonctions de rappel de l'éditeur. |

Retourne : Une nouvelle instance de `otc_publisher`. En cas d'erreur, cette valeur est nulle.

otc_publisher_new_with_settings()

otc_publisher * otc_publisher_new_with_settings ( const struct otc_publisher_callbacks * rappels,
otc_paramètres_éditeur * paramètres
)

Crée une nouvelle instance de `otc_publisher`.

Paramètres : | | | | --- | --- | | callbacks | Un pointeur vers la structure contenant les pointeurs vers les fonctions de rappel de l'éditeur. | | settings | La structure « settings » contenant les paramètres souhaités pour l'éditeur. |

Retourne : Une nouvelle instance de `otc_publisher`. En cas d'erreur, cette valeur est nulle.

otc_publisher_set_audio_transformers()

otc_status otc_publisher_set_audio_transformers ( otc_publisher * éditeur,
otc_audio_transformer ** transformateurs,
uint8_t taille
)

Définit un tableau de transformateurs audio pour le flux audio de cet éditeur. Si la valeur est nulle, les transformateurs sont réinitialisés.

Le tableau peut être composé de transformateurs audio Vonage fournis par la bibliothèque ml et/ou de transformateurs personnalisés. Les transformateurs contiennent un pointeur vers une fonction de rappel appelée à chaque trame audio.

Remarque : Cette fonction ne s'applique qu'au SDK macOS de la Video API Vonage. Elle ne fonctionne pas dans le SDK Linux de la Video API Vonage.

Paramètres : | | | | | --- | --- | --- | | [in] | publisher | L'instance de l'éditeur. | | [in] | transformers | Tableau de pointeurs opaques vers otc_audio_transformer, dans l'ordre dans lequel ils doivent être appliqués au flux. | | [in] | size | Taille du tableau. |

Résultats : une erreur en cas d'erreur, sinon OTC_SUCCESS.

otc_publisher_set_degradation_preference()

otc_status otc_publisher_set_degradation_preference ( otc_publisher * éditeur,
énumération otc_degradation_preference préférence_de_dégradation
)

Définit la stratégie privilégiée que le moteur vidéo suivra pour adapter la fréquence d'images et la résolution en fonction d'une bande passante limitée et de la charge du processeur. Voir otc_degradation_preference pour une description des valeurs possibles.

Paramètres : | | | | | --- | --- | --- | | [in] | publisher | L'instance de l'éditeur. | | [in] | degradation_preference | La préférence de dégradation. |

Renvoie : OTC_SUCCESS ou une erreur.

otc_publisher_set_max_audio_bitrate()

otc_status otc_publisher_set_max_audio_bitrate ( otc_publisher * éditeur,
uint32_t débit
)

Définit le débit binaire audio maximal pour l'éditeur.

Paramètres : | | | | --- | --- | | éditeur | L'éditeur concerné. | | débit binaire | Le débit binaire souhaité en kbps. |

Valeurs de retour : Valeur de retour indiquant soit une erreur, soit une réussite.

otc_publisher_set_max_video_bitrate()

otc_status otc_publisher_set_max_video_bitrate ( otc_publisher * éditeur,
int débit_bps
)

Récupère le débit binaire vidéo maximal défini pour le flux vidéo de cet éditeur.

Renvoie le débit binaire vidéo maximal actuel, exprimé en bits par seconde (bps). Si aucun débit binaire n'a été explicitement défini via otc_publisher_set_max_video_bitrate(), ou si un préréglage de débit binaire est actif (y compris le préréglage par défaut), cette fonction renvoie 0.

Remarque : Une valeur de retour égale à 0 indique qu'aucune limite manuelle de débit binaire n'est appliquée et que le flux fonctionne selon une configuration prédéfinie.

Paramètres : | | | | | --- | --- | --- | | [in] | publisher | L'instance de l'éditeur. |

Retourne : Le débit binaire vidéo maximal actuel, exprimé en bits par seconde, ou 0 si cette valeur n'est pas définie ou si un préréglage est utilisé.

otc_publisher_set_publish_audio()

otc_status otc_publisher_set_publish_audio ( otc_publisher * éditeur,
otc_bool publier_audio
)

Publier ou non le son. Par défaut, les flux publient à la fois le son et la vidéo.

Paramètres : | | | | --- | --- | | publisher | L'éditeur concerné. | | publish_audio | Indique s'il faut publier ou non le contenu audio. |

Valeurs de retour : Valeur de retour indiquant soit une erreur, soit une réussite.

otc_publisher_set_publish_captions()

otc_status otc_publisher_set_publish_captions ( otc_publisher * éditeur,
otc_bool publier_légendes
)

Activer ou non les légendes. Par défaut, cette option est désactivée.

Paramètres : | | | | --- | --- | | publisher | L'éditeur concerné. | | publish_captions | Indique s'il faut activer ou non le sous-titrage. |

Valeurs de retour : Valeur de retour indiquant soit une erreur, soit une réussite.

otc_publisher_set_publish_video()

otc_status otc_publisher_set_publish_video ( otc_publisher * éditeur,
otc_bool publier_vidéo
)

Faut-il publier la vidéo ou non ? Par défaut, les flux publient à la fois l'audio et la vidéo.

Paramètres : | | | | --- | --- | | publisher | L'éditeur concerné. | | publish_video | Indique s'il faut publier la vidéo ou non. |

Valeurs de retour : Valeur de retour indiquant soit une erreur, soit une réussite.

otc_publisher_set_rtc_stats_report_cb()

otc_status otc_publisher_set_rtc_stats_report_cb ( otc_publisher * éditeur,
const struct otc_publisher_rtc_stats_report_cb cb
)

Définit la fonction de rappel du rapport statistique RTC pour l'éditeur.

Paramètres : | | | | --- | --- | | publisher | L'instance de l'éditeur. | | cb | Le otc_publisher_rtc_stats_report_cb structure contenant la fonction de rappel pour le rapport sur les statistiques de l'horloge en temps réel (RTC). |

Voir aussi : otc_publisher_get_rtc_stats_report.

otc_publisher_set_target_scalability_mode()

otc_status otc_publisher_set_target_scalability_mode ( otc_publisher * éditeur,
const char * mode_d'évolutivité
)

Définit le mode d'évolutivité cible (SVC - Scalable Video Coding) pour cet éditeur. Le mode d'évolutivité contrôle le nombre de couches spatiales (résolution) et temporelles (fréquence d'images) encodées par WebRTC. Ce mode s'applique uniquement à la connexion entre pairs acheminée (éditeur ↔ SFU), quelle que soit la branche actuellement active.

Cette méthode peut être appelée à tout moment ; il n'est pas nécessaire que la négociation de la liasse acheminée soit terminée. Le mode sera appliqué dès que la liasse acheminée sera établie.

Si un codec autre que SVC (VP8, H.264) est négocié sur la liaison acheminée, le mode applicable le plus proche est utilisé : les couches spatiales sont forcées à la valeur 1, ce qui préserve la dimension temporelle (par exemple, L2T2 → L1T2 lorsque VP8 est négocié).

Il s'agit d'une fonctionnalité en version bêta.

Erreurs :

  • Renvoie OTC_ERROR si le mode demandé n'est pas un mode d'évolutivité valide (c'est-à-dire s'il ne s'agit pas de L1T1, L1T2, L1T3, L2T1, L2T2, L2T3, L3T1, L3T2 ou L3T3).

Paramètres : | | | | --- | --- | | publisher | L'instance de l'éditeur. | | scalability_mode | Le mode d'évolutivité cible. |

Valeurs de retour : OTC_SUCCESS si l'opération aboutit ; un code d'erreur dans le cas contraire.

otc_publisher_set_video_bitrate_preset()

otc_status otc_publisher_set_video_bitrate_preset ( otc_publisher * éditeur,
énumération otc_video_bitrate_preset préétabli
)

Définit un préréglage de débit binaire vidéo pour le flux vidéo de cet éditeur.

Applique une stratégie prédéfinie de débit binaire vidéo afin de contrôler le comportement de l'encodeur. Ces préréglages visent à trouver un équilibre entre la qualité vidéo et l'utilisation de la bande passante, en fonction des besoins de l'application.

Remarque : Le préréglage OTC_VIDEO_BITRATE_PRESET_CUSTOM ne peut pas être défini directement. L'appel de otc_publisher_set_max_video_bitrate() remplacera le préréglage et fera en sorte que la méthode de récupération du préréglage renvoie la valeur OTC_VIDEO_BITRATE_PRESET_CUSTOM.

Paramètres : | | | | | --- | --- | --- | | [in] | publisher | L'instance de l'éditeur. | | [in] | preset | Une valeur comprise entre otc_video_bitrate_preset pour postuler. |

Résultats : une erreur en cas d'erreur, sinon OTC_SUCCESS.

otc_publisher_set_video_transformers()

otc_status otc_publisher_set_video_transformers ( otc_publisher * éditeur,
otc_video_transformer ** transformateurs,
uint8_t taille
)

Définit un tableau de transformateurs vidéo pour le flux vidéo de ce diffuseur. Si la valeur est nulle, les transformateurs sont réinitialisés.

Le tableau peut être composé de transformateurs vidéo Vonage fournis par la bibliothèque ml-library et/ou de transformateurs personnalisés. Les transformateurs contiennent un pointeur vers une fonction de rappel appelée à chaque image vidéo.

Remarque : Cette fonction ne s'applique qu'au SDK macOS de la Video API Vonage. Elle ne fonctionne pas dans le SDK Linux de la Video API Vonage.

Paramètres : | | | | | --- | --- | --- | | [in] | publisher | L'instance de l'éditeur. | | [in] | transformers | Tableau de pointeurs opaques vers des otc_video_transformer, dans l'ordre dans lequel ils doivent être appliqués au flux. | | [in] | size | Taille du tableau. |

Résultats : une erreur en cas d'erreur, sinon OTC_SUCCESS.

otc_publisher_set_video_type()

otc_status otc_publisher_set_video_type ( struct otc_publisher * éditeur,
énumération otc_publisher_video_type type_de_vidéo
)

Définit le type de vidéo de l'éditeur. Par défaut, le type de vidéo est défini sur OTC_PUBLISHER_VIDEO_TYPE_CAMERA (ce qui indique que la source de la vidéo est une caméra). Définissez cette valeur sur OTC_PUBLISHER_VIDEO_TYPE_SCREEN pour indiquer que la source de la vidéo est un partage d'écran. Les autres clients peuvent détecter le type de vidéo des flux de la session (afin de déterminer le type de source vidéo).

Paramètres : | | | | --- | --- | | éditeur | L'éditeur concerné. | | type_vidéo | Le type de vidéo de l'éditeur. |

Valeurs de retour : Valeur de retour indiquant soit une erreur, soit une réussite.

otc_publisher_settings_delete()

otc_status otc_publisher_settings_delete ( otc_paramètres_éditeur * paramètres )

Supprime une instance de `otc_publisher_settings`.

Paramètres : | | | | --- | --- | | settings | L'instance « otc_publisher_settings » à supprimer. |

Valeurs de retour : Valeur de retour indiquant soit une erreur, soit une réussite.

otc_publisher_settings_new()

otc_paramètres_éditeur * otc_publisher_settings_new ( )

Crée une nouvelle instance de `otc_publisher_settings`.

Renvoie : Une nouvelle instance de `otc_publisher_settings`

otc_publisher_settings_set_allow_audio_capture_while_muted()

otc_status otc_publisher_settings_set_allow_audio_capture_while_muted ( otc_paramètres_éditeur * paramètres,
const otc_bool activée
)

Quand otc_publisher_settings_set_allow_audio_capture_while_muted est fixé à false, le microphone sera automatiquement désactivé lorsque tous les intervenants auront coupé leur micro. Le microphone sera automatiquement réactivé dès qu’au moins un intervenant réactivera son micro. Si le paramètre est réglé sur true, le micro restera toujours activé, même lorsque tous les éditeurs auront coupé leur son. Notez que lorsque le micro est désactivé, les fonctions de rappel telles que `audio_level` ou `audio_data` ne seront plus appelées pour les éditeurs. La valeur par défaut est true. Voir otc_session_new_with_settings.

Paramètres : | | | | --- | --- | | settings | Pointeur vers l'objet des paramètres de session. | | enable | Indicateur booléen permettant de désactiver (OTC_FALSE, valeur par défaut) ou d'activer (OTC_TRUE) cet indicateur. |

Retour : otc_status Renvoie le statut de l'opération.

otc_publisher_settings_set_audio_track()

otc_status otc_publisher_settings_set_audio_track ( otc_paramètres_éditeur * paramètres,
otc_bool activée
)

Permet à un éditeur de créer une piste audio à l'aide de otc_publisher_new_with_settings.

Paramètres : | | | | --- | --- | | settings | L'instance « otc_publisher_settings » concernée. | | enabled | Active/désactive la création d'une piste audio pour un éditeur otc_publisher_new_with_settings. |

Valeurs de retour : Valeur de retour indiquant soit une erreur, soit une réussite.

otc_publisher_settings_set_auto_gain_control()

otc_status otc_publisher_settings_set_auto_gain_control ( otc_paramètres_éditeur * paramètres,
otc_bool activée
)

Permet de mettre en place un système de contrôle automatique du gain audio pour un éditeur à l'aide de otc_publisher_new_with_settings.

Cela ne fonctionne pas dans le SDK Linux de la Video API de Vonage.

Paramètres : | | | | --- | --- | | settings | L'instance otc_publisher_settings concernée. | | enabled | Indique s'il faut activer (true, valeur par défaut) ou désactiver (false) le contrôle automatique du gain. |

Valeurs de retour : Valeur de retour indiquant soit une erreur, soit une réussite.

otc_publisher_settings_set_default_camera_capture_resolution()

otc_status otc_publisher_settings_set_default_camera_capture_resolution ( otc_paramètres_éditeur * paramètres,
const énumération otc_camera_capture_resolution résolution_de_capture_de_la_caméra
)

Définit la résolution de capture de la caméra pour les périphériques de capture vidéo par défaut.

Les cartes d'acquisition vidéo personnalisées ne doivent pas respecter la résolution d'acquisition définie par otc_publisher_settings_set_default_camera_capture_resolution, cette fonctionnalité est réservée aux cartes d'acquisition vidéo par défaut.

Paramètres : | | | | --- | --- | | camera_capture_resolution | Résolution de capture de la caméra pour les capteurs vidéo par défaut. | | settings | Instance « otc_publisher_settings » à modifier. |

Valeurs de retour : Valeur de retour indiquant soit une erreur, soit une réussite.

otc_publisher_settings_set_disable_audio_processing()

otc_status otc_publisher_settings_set_disable_audio_processing ( otc_paramètres_éditeur * paramètres,
otc_bool handicapé
)

Quand otc_publisher_settings_set_disable_audio_processing est fixé à true, les paramètres individuels relatifs à l'annulation de l'écho acoustique, au contrôle automatique du gain et à la suppression du bruit seront ignorés et le signal audio ne sera pas traité du tout. La valeur par défaut est false. Voir otc_publisher_new_with_settings.

Paramètres : | | | | --- | --- | | settings | L'instance « otc_publisher_settings » concernée. | | enabled | Indique s'il faut activer (true) ou désactiver (false, valeur par défaut) la prise en charge du traitement audio. |

Valeurs de retour : Valeur de retour indiquant soit une erreur, soit une réussite.

otc_publisher_settings_set_echo_cancellation()

otc_status otc_publisher_settings_set_echo_cancellation ( otc_paramètres_éditeur * paramètres,
otc_bool activée
)

Permet de mettre en place une annulation d'écho acoustique pour un diffuseur à réaliser à l'aide de otc_publisher_new_with_settings.

Remarque : Cette fonction ne s'applique qu'au SDK macOS de la Video API Vonage. Elle ne fonctionne pas dans le SDK Linux de la Video API Vonage.

Paramètres : | | | | --- | --- | | settings | L'instance otc_publisher_settings concernée. | | enabled | Indique s'il faut activer (true, valeur par défaut) ou désactiver (false) la prise en charge de l'annulation de l'écho acoustique. |

Valeurs de retour : Valeur de retour indiquant soit une erreur, soit une réussite.

otc_publisher_settings_set_name()

otc_status otc_publisher_settings_set_name ( otc_paramètres_éditeur * paramètres,
const char * nom
)

Définit le nom souhaité pour un éditeur à créer à l'aide de otc_publisher_new_with_settings.

Paramètres : | | | | --- | --- | | settings | L'instance « otc_publisher_settings » concernée. | | name | Le nom de l'éditeur. Les autres clients peuvent récupérer les noms des flux de la session. |

Valeurs de retour : Valeur de retour indiquant soit une erreur, soit une réussite.

otc_publisher_settings_set_noise_suppression()

otc_status otc_publisher_settings_set_noise_suppression ( otc_paramètres_éditeur * paramètres,
otc_bool activée
)

Permet de mettre en place une suppression du bruit pour qu'un éditeur puisse être créé à l'aide de otc_publisher_new_with_settings.

Remarque : Cette fonction ne s'applique qu'au SDK macOS de la Video API Vonage. Elle ne fonctionne pas dans le SDK Linux de la Video API Vonage.

Paramètres : | | | | --- | --- | | settings | L'instance otc_publisher_settings concernée. | | enabled | Indique s'il faut activer (true, valeur par défaut) ou désactiver (false) la suppression du bruit. |

Valeurs de retour : Valeur de retour indiquant soit une erreur, soit une réussite.

otc_publisher_settings_set_opus_dtx()

otc_status otc_publisher_settings_set_opus_dtx ( otc_paramètres_éditeur * paramètres,
otc_bool activée
)

Permet Opus DTX pour qu'un éditeur soit créé à l'aide de otc_publisher_new_with_settings. L'activation d'Opus DTX permet de réduire la consommation de bande passante dans les flux comportant de longues périodes de silence.

Paramètres : | | | | --- | --- | | settings | L'instance « otc_publisher_settings » concernée. | | enabled | Indique s'il faut activer (true) ou désactiver (false, valeur par défaut) la prise en charge d'Opus DTX. |

Valeurs de retour : Valeur de retour indiquant soit une erreur, soit une réussite.

otc_publisher_settings_set_preferred_video_codecs()

otc_status otc_publisher_settings_set_preferred_video_codecs ( otc_paramètres_éditeur * paramètres,
const otc_type_de_codec_vidéo * codecs,
size_t nombre_de_codecs
)

Définit les codecs vidéo à privilégier pour le flux de cet éditeur.

Cette fonction permet de spécifier une liste explicite et ordonnée de codecs vidéo auxquels accorder la priorité lors de la négociation. Les codecs indiqués figureront en tête de l'offre SDP (dans l'ordre indiqué), mais d'autres codecs pris en charge pourront tout de même être inclus avec une priorité inférieure.

Cela ne limite pas la négociation à ces codecs uniquement.

Le passage d'une liste vide entraînera une erreur OT_INVALID_PARAMETER. Si cette fonction n'est pas appelée, le SDK revient au comportement par défaut défini dans les paramètres du projet Dashboard.

Paramètres : | | | | | --- | --- | --- | | [in,out] | settings | L'instance des paramètres de l'éditeur à modifier. | | [in] | codecs | Un tableau de codecs vidéo à privilégier (doit être non vide). | | [in] | num_codecs | Le nombre d'éléments dans le tableau codecs. |

Retourne : OTC_SUCCESS si l'opération réussit ; OT_INVALID_PARAMETER si la liste est vide ou non valide.

otc_publisher_settings_set_preferred_video_codecs_automatic()

otc_status otc_publisher_settings_set_preferred_video_codecs_automatic ( otc_paramètres_éditeur * paramètres )

Active la hiérarchisation automatique des codecs pour le flux de cet éditeur.

En mode automatique, le SDK détermine l'ordre de priorité des codecs le plus approprié, en remplaçant les paramètres par défaut du projet configurés dans le tableau de bord.

Cela permet de déléguer facilement le choix du codec au SDK sans avoir à définir manuellement une liste.

Paramètres : | | | | | --- | --- | --- | | [in,out] | settings | L'instance des paramètres de l'éditeur à modifier. |

Valeurs de retour : OTC_SUCCESS si l'opération aboutit ; un code d'erreur dans le cas contraire.

otc_publisher_settings_set_publisher_audio_fallback_enabled()

otc_status otc_publisher_settings_set_publisher_audio_fallback_enabled ( otc_paramètres_éditeur * paramètres,
const otc_bool activée
)

Active ou désactive la fonctionnalité de repli audio de l'éditeur.

Lorsque la fonctionnalité de repli audio de l'éditeur est activée, si l'éditeur constate que la qualité d'un flux vidéo s'est considérablement dégradée, il désactive ce flux afin de préserver la qualité audio et continue à transmettre le flux audio. Le capteur associé à cet éditeur ne sera pas désactivé, et les images capturées resteront visibles côté éditeur.

Le paramètre par défaut est OTC_FALSE (la fonctionnalité de repli audio est désactivée). Lorsque vous utilisez le type de vidéo « écran » dans une session exploitant le serveur multimédia OpenTok, le paramètre de repli audio de l'éditeur est défini par défaut sur OTC_FALSE, afin d'éviter toute interruption de la vidéo chez les abonnés.

Paramètres : | | | | --- | --- | | paramètres | Les paramètres de l'éditeur concernés. | | activé | Indique si l'on souhaite activer ou non la fonctionnalité de repli audio. |

Valeurs de retour : Valeur de retour indiquant soit une erreur, soit une réussite.

otc_publisher_settings_set_scalable_screenshare()

otc_status otc_publisher_settings_set_scalable_screenshare ( otc_paramètres_éditeur * paramètres,
const otc_bool activée
)

Autoriser l'utilisation de la vidéo adaptative vidéo évolutive pour un éditeur qui dispose de la otc_publisher_video_type fixé à OTC_PUBLISHER_VIDEO_TYPE_SCREEN avec otc_publisher_new_with_settings.

Paramètres : | | | | --- | --- | | settings | L'instance « otc_publisher_settings » concernée. | | enabled | Active/désactive l'utilisation de la vidéo évolutive pour les flux de partage d'écran. |

Valeurs de retour : Valeur de retour indiquant soit une erreur, soit une réussite.

otc_publisher_settings_set_sender_stats_track()

otc_status otc_publisher_settings_set_sender_stats_track ( otc_paramètres_éditeur * paramètres,
otc_bool activée
)

Permet de créer un canal de statistiques d'expéditeur pour un éditeur à l'aide de otc_publisher_new_with_settings. Actuellement, cette fonctionnalité ne prend en charge que les appels comptant plus de deux participants. Par défaut, le canal des statistiques de l'expéditeur est désactivé.

Paramètres : | | | | --- | --- | | settings | L'instance « otc_publisher_settings » concernée. | | enabled | Active/désactive la création d'un canal de statistiques d'expéditeur pour un éditeur à partir de otc_publisher_new_with_settings. |

Valeurs de retour : Valeur de retour indiquant soit une erreur, soit une réussite.

otc_publisher_settings_set_stereo()

otc_status otc_publisher_settings_set_stereo ( otc_paramètres_éditeur * paramètres,
otc_bool activée
)

Permet à un éditeur de créer un flux audio stéréo à l'aide de otc_publisher_new_with_settings.

Paramètres : | | | | --- | --- | | settings | L'instance « otc_publisher_settings » concernée. | | enabled | Active/désactive la prise en charge de l'audio stéréo pour un éditeur à créer avec otc_publisher_new_with_settings. |

Valeurs de retour : Valeur de retour indiquant soit une erreur, soit une réussite.

otc_publisher_settings_set_subscriber_audio_fallback_enabled()

otc_status otc_publisher_settings_set_subscriber_audio_fallback_enabled ( otc_paramètres_éditeur * paramètres,
const otc_bool activée
)

Active ou désactive la fonctionnalité de repli audio pour les abonnés (pour les abonnés au flux publié)

La fonctionnalité de repli audio pour les abonnés est disponible dans les sessions utilisant le Vonage Video Media Router. Lorsque la fonctionnalité de repli audio est activée (par défaut), si le Vonage Video Media Router détecte une dégradation significative de la qualité d'un flux pour un abonné spécifique, il désactive la vidéo pour cet abonné afin de préserver la qualité audio.

Le paramètre par défaut est OTC_TRUE (la fonctionnalité de repli audio est activée). Lorsque l'on utilise le type de vidéo « écran », le paramètre de repli audio des abonnés est défini par défaut sur OTC_FALSE, afin d'éviter toute interruption de la vidéo chez les abonnés.

Paramètres : | | | | --- | --- | | paramètres | Les paramètres de l'éditeur concernés. | | activé | Indique si l'on souhaite activer ou non la fonctionnalité de repli audio. |

Valeurs de retour : Valeur de retour indiquant soit une erreur, soit une réussite.

otc_publisher_settings_set_video_capturer()

otc_status otc_publisher_settings_set_video_capturer ( otc_paramètres_éditeur * paramètres,
const struct otc_video_capturer_callbacks * captureur
)

Définit le capteur vidéo à utiliser pour la création d'un éditeur otc_publisher_new_with_settings.

Paramètres : | | | | --- | --- | | settings | L'instance « otc_publisher_settings » concernée. | | capturer | Le dispositif de capture vidéo. |

Valeurs de retour : Valeur de retour indiquant soit une erreur, soit une réussite.

otc_publisher_settings_set_video_track()

otc_status otc_publisher_settings_set_video_track ( otc_paramètres_éditeur * paramètres,
otc_bool activée
)

Permet à un éditeur de créer une piste vidéo à l'aide de otc_publisher_new_with_settings.

Paramètres : | | | | --- | --- | | settings | L'instance « otc_publisher_settings » concernée. | | enabled | Active/désactive la création d'une piste vidéo pour un éditeur otc_publisher_new_with_settings. |

Valeurs de retour : Valeur de retour indiquant soit une erreur, soit une réussite.