Réglage du son et de l'image — macOS

Vous pouvez régler les paramètres audio et vidéo de publié et abonné flux :

Publication d'audio ou de vidéo uniquement

Vous pouvez activer ou désactiver le son et la vidéo en appelant la fonction otc_publisher_set_publish_audio() et otc_publisher_set_publish_video() fonctions, en leur transmettant OTC_FALSE ou OTC_FALSE en tant que publish_audio et publish_audio paramètres. Par exemple, le code suivant désactive le son :

otc_publisher_set_publish_audio(publisher, OTC_FALSE);

Publication dans une session vocale uniquement

Pour mettre en place un voix seulement session, instancier un otc_publisher_settings struct, appeler la otc_publisher_settings_set_video_track() fonction, en lui transmettant OTC_FALSE en tant que enabled paramètre. Utilisez ensuite le otc_publisher_new_with_settings() fonction à créer. Par exemple, le code suivant crée un éditeur pour une session exclusivement vocale :


otc_publisher_settings publisher_settings = otc_publisher_settings_new();
otc_publisher_settings_set_video_track(publisher_settings, OTC_FALSE);
otc_publisher_callbacks publisher_callbacks = {0};
// Set callbacks for the publisher. Then:
otc_publisher publisher = otc_publisher_new_with_settings(publisher_callbacks, publisher_settings);

Utilisation d'un capteur vidéo personnalisé

Les otc_publisher_new() La fonction comprend un capturer paramètre. Si vous le définissez sur NULL, le SDK utilise l'appareil photo par défaut du système comme source pour le flux vidéo publié. Vous pouvez toutefois utiliser un capteur vidéo personnalisé pour l'éditeur en définissant un otc_video_capturer_callbacks struct et en la transmettant en tant que capturer du paramètre otc_publisher_new() fonction. La fonction otc_video_capturer_callbacks La structure contient des pointeurs vers des fonctions de rappel qui sont appelées lors d'événements liés à la vidéo de l'éditeur, par exemple lorsque le capteur vidéo a besoin d'une nouvelle image vidéo.

Pour voir un exemple, consultez l'exemple « Custom Video Capturer » de la opentok-macos-sdk-exemples repo.

Mise en miroir de l'affichage local de la vidéo d'un éditeur

Par défaut, le moteur de rendu local de la vidéo publiée reflète la vidéo. Vous pouvez définir l'option mirror_on_local_render de la propriété otc_video_capturer_settings obtenue en appelant l'instance get_capture_settings(capturer, settings) fonction. Réglez-la sur true pour que la vidéo soit reflétée dans le moteur de rendu local de l'éditeur. Définissez-le à false pour qu'il ne soit pas reflété.

Ce paramètre n'affecte que la vidéo rendue dans l'application client de l'éditeur. Il n'a aucun effet sur la vidéo dans les clients abonnés.

Utilisation d'un pilote audio personnalisé

Vous pouvez définir un périphérique audio personnalisé afin de fournir le son à tous les éditeurs du client et de gérer le flux audio mixé issu de tous les flux auxquels le client est abonné.

Un périphérique audio personnalisé est représenté par un otc_audio_device struct. Et un otc_audio_device_callbacks La structure contient des pointeurs vers des fonctions qui servent de callbacks audio appelés par le SDK OpenTok pour Linux.

Pour voir un exemple, consultez l'exemple « Custom Audio Device » dans le opentok-macos-sdk-exemples repo.

Réglage du volume audio pour un abonné

Vous pouvez régler individuellement le volume audio pour chaque abonné en appelant la fonction otc_subscriber_set_audio_volume() fonction.

Abonnement audio ou vidéo uniquement

Par défaut, un abonné est configuré pour s'abonner au flux audio et vidéo, s'ils sont disponibles. Vous pouvez activer ou désactiver le son en appelant la fonction otc_subscriber_set_subscribe_to_audio(otc_subscriber *subscriber, otc_bool subscribe_to_audio) :

// audio off:
otc_subscriber_set_subscribe_to_video(subscriber, OTC_FALSE);
// audio on:
otc_subscriber_set_subscribe_to_video(subscriber, OTC_TRUE);

Vous pouvez activer ou désactiver la vidéo en appelant la commande otc_subscriber_set_subscribe_to_video(otc_subscriber *subscriber, otc_bool subscribe_to_video) :

// video off:
otc_subscriber_set_subscribe_to_video(subscriber, OTC_FALSE);
// video on:
otc_subscriber_set_subscribe_to_video(subscriber, OTC_TRUE);

Détecter si un flux contient de l'audio ou de la vidéo

Vous pouvez appeler le otc_stream_has_audio() et otc_stream_has_audio() des fonctions membres d'un otc_stream pour voir s'il y a de l'audio ou de la vidéo.

Réglage de la qualité audio

Pour affiner la qualité audio d'un flux d'éditeur, les méthodes suivantes peuvent être utilisées :

Débit binaire audio

otc_publisher_set_max_audio_bitrate(otc_publisher* publisher, uint32_t bitrate);

Le débit souhaité pour l'audio publié, en bits par seconde. Les valeurs prises en charge sont comprises entre 6 000 et 510 000 (les valeurs non valides sont ignorées). (Les valeurs non valides sont ignorées.) Définissez cette valeur pour permettre un son de haute qualité (ou pour réduire l'utilisation de la bande passante avec un son de qualité inférieure). Si vous ne définissez pas cette option, OpenTok attribue automatiquement un débit audio au flux.

Les paramètres suivants sont recommandés :

  • 8 000 - 12 000 pour la parole en bande étroite (NB)
  • 16 000 - 20 000 pour la parole à large bande (WB)
  • 28 000 - 40 000 pour la parole en bande complète (FB)
  • 48 000 - 64 000 pour la musique à bande complète (FB)

Désactiver le traitement audio

otc_publisher_settings_set_disable_audio_processing (otc_publisher_settings* settings, otc_bool disabled);

Désactive ou non l'annulation de l'écho, le contrôle automatique du gain et la suppression du bruit pour l'audio publié. Il peut être utile de régler ce paramètre sur true lors de la publication d'un son de haute qualité. La valeur par défaut est false.

Contrôle automatique du gain

otc_publisher_settings_set_auto_gain_control(otc_publisher_settings* settings, otc_bool enabled);

Permet d'activer le contrôle automatique du gain pour l'audio publié. Il peut être utile de régler ce paramètre sur false lors de la publication d'un son de haute qualité. La valeur par défaut est true. Ce paramètre est ignoré si vous désactivez le traitement audio.

Annulation de l'écho

otc_publisher_settings_set_echo_cancellation(otc_publisher_settings* settings, otc_bool enabled);

Activation ou non de l'annulation de l'écho pour l'audio publié. Il peut être utile de régler ce paramètre sur false lors de la publication d'un son de haute qualité. La valeur par défaut est true. Ce paramètre est ignoré si vous désactivez le traitement audio

Suppression du bruit

otc_publisher_settings_set_noise_suppression(otc_publisher_settings* settings, otc_bool enabled);

Activer ou non la suppression du bruit pour l'audio publié. Il peut être utile de régler ce paramètre sur false lors de la publication d'un son de haute qualité. La valeur par défaut est true. Ce paramètre est ignoré si vous désactivez le traitement audio.

Stéréo

otc_publisher_settings_set_stereo(otc_publisher_settings* settings, otc_bool enabled);

Indique s'il faut publier de l'audio stéréo. La valeur par défaut est false. Pour un exemple pratique, voir ceci exemple de mise en œuvre