Especifica un flujo. Un flujo es una representación de un flujo publicado en una sesión. Cuando un cliente llama a la función Método Session.publish(), se crea un nuevo flujo. Las propiedades del objeto «Stream» proporcionan información sobre el flujo.
Cuando se añade un flujo a una sesión, el objeto Session envía un
streamCreatedEvent. Cuando se destruye un flujo, el objeto Session envía un
streamDestroyed evento. El objeto `StreamEvent`, que define estos objetos de evento,
tiene un stream propiedad, que es una matriz de objetos Stream. Para obtener más detalles y ver un
ejemplo de código, consulta StreamEvent.
Cuando se establece una conexión con una sesión, el objeto Session envía un
sessionConnected evento, definido por el objeto `SessionConnectEvent`. El
objeto `SessionConnectEvent` tiene un streams propiedad, que es una matriz de objetos Stream
correspondientes a los flujos activos en la sesión en ese momento. Para obtener más detalles y ver un ejemplo de código,
consulta SessionConnectEvent.
Propiedades
| Nombre | Tipo | Descripción |
|---|---|---|
connection |
Conexión | El objeto `Connection` correspondiente a la conexión que está publicando el flujo. Se puede comparar con el connection propiedad del objeto Session para comprobar si la página web local está publicando el flujo. |
creationTime |
Numbers | La marca de tiempo correspondiente a la creación del flujo. Este valor se calcula en milisegundos. Puedes convertir este valor en un objeto Date llamando a new Date(creationTime)donde creationTime es el creationTime propiedad del objeto Stream. |
frameRate |
Numbers | La frecuencia de fotogramas de captura especificada por el editor. Inicialmente se deriva de la frameRate propiedad pasada a OT.initPublisher(). Esta propiedad solo se establece si el editor especifica explícitamente una frecuencia de fotogramas; en caso contrario, su valor es indefinido. Este valor se actualiza cuando el editor llama a Publisher.setPreferredFrameRate(). Nota: Este valor representa la frecuencia de fotogramas objetivo actual del emisor, no la frecuencia de fotogramas realmente codificada o recibida por un suscriptor. La frecuencia de fotogramas codificada puede seguir siendo inferior debido a limitaciones de ancho de banda o de CPU, y la frecuencia de fotogramas recibida puede variar aún más en función de las condiciones de la red. Para obtener la frecuencia de fotogramas real decodificada para un suscriptor, utiliza el video.decodedFrameRate propiedad devuelta por Subscriber.getStats(). |
hasCaptions |
Booleano | Si la transmisión incluye subtítulos. Esta propiedad puede cambiar si el editor activa o desactiva los subtítulos (mediante la llamada a la función Publisher.publishCaptions() método). Cuando esto ocurre, el Sesión El objeto envía un streamPropertyChanged evento (véase StreamPropertyChangedEvent). |
hasAudio |
Booleano | Si la transmisión tiene audio. Esta propiedad puede cambiar si el emisor activa o desactiva el audio (mediante la llamada a Publisher.publishAudio()). Cuando esto ocurre, el Sesión El objeto envía un streamPropertyChanged evento (véase StreamPropertyChangedEvent). |
hasVideo |
Booleano | Si la transmisión incluye vídeo. Esta propiedad puede cambiar si el editor activa o desactiva el vídeo (mediante la llamada a Publisher.publishVideo()). Cuando esto ocurre, el Sesión El objeto envía un streamPropertyChanged evento (véase StreamPropertyChangedEvent). |
initials |
Cadena | Las iniciales de la transmisión. Los editores pueden especificar las iniciales que se mostrarán cuando el vídeo esté desactivado. (Consulta la initials propiedad del properties pasado al parámetro OT.initPublisher() método). |
name |
Cadena | El nombre de la transmisión. Los editores pueden especificar un nombre al publicar una transmisión (utilizando la publish() método del objeto Session del editor). |
streamId |
Cadena | El identificador único del flujo. |
videoDimensions |
Objeto | Este objeto tiene dos propiedades: width y height (ambos números). Estos representan la resolución objetivo de captura del editor, tal y como se ha indicado por última vez en la sesión. El valor se transmite a todos los participantes a través de la capa de señalización y puede consultarse tanto en los clientes editores como en los suscriptores. El valor se establece inicialmente a partir de la resolution propiedad pasada a OT.initPublisher(). Se actualiza en tiempo de ejecución cuando el editor local <video> El elemento detecta un cambio de dimensión (por ejemplo, tras una llamada a Publisher.setPreferredResolution(), un cambio de tamaño de la ventana de pantalla compartida o una rotación del dispositivo móvil). Nota: Estos valores representan la resolución objetivo de captura del editor, no la resolución realmente codificada o recibida por un suscriptor. El editor puede codificar a una resolución inferior debido a limitaciones de ancho de banda o de CPU, y los suscriptores que utilicen vídeo escalable pueden recibir una capa con una resolución aún menor. Para obtener la resolución real decodificada en el cliente suscriptor, utiliza Subscriber.videoWidth() y Subscriber.videoHeight(). Cuando esta propiedad cambia, el Sesión El objeto envía un streamPropertyChanged evento (véase StreamPropertyChangedEvent). |
videoType |
Cadena | El tipo de vídeo —ya sea "camera", "screen", o "custom". A "screen" El vídeo utiliza la función de compartir pantalla del editor como fuente de vídeo; para el resto de vídeos, esta propiedad está configurada en "camera". A "custom" El vídeo utiliza un elemento VideoTrack como fuente de vídeo en el editor. (Véase el videoSource propiedad del options pasado al parámetro OT.initPublisher() método.) El videoType es undefined cuando un flujo es sólo de voz (véase la sección Guía solo de voz). Esta propiedad puede cambiar si una transmisión publicada desde un dispositivo móvil pasa de ser un vídeo de cámara a un vídeo de pantalla compartida. Cuando cambia el tipo de vídeo, el Sesión El objeto envía un streamPropertyChanged evento (véase StreamPropertyChangedEvent). |