Este tema describe las API de Python, las devoluciones de llamada y los tipos de datos del SDK de cliente AOQ para Linux.
aoq_client_sdk. Todas las devoluciones de llamada se activan en hilos nativos, y usted debe garantizar la seguridad de los hilos por sí mismo.
Índice de API
Ciclo de vida del motor
| API | Descripción |
|---|---|
| create_engine | Crear una instancia del motor (singleton) |
| destroy | Destruir la instancia del motor |
| get_version | Obtener la versión del SDK |
| connect | Conectar al servidor Relay |
| disconnect | Desconectar del servidor |
Gestión de dispositivos de audio
| API | Descripción |
|---|---|
| start_audio_capture | Abrir el dispositivo de captura de audio (micrófono) |
| stop_audio_capture | Cerrar el dispositivo de captura de audio |
| mute_audio_capture | Silenciar o reactivar la captura de audio |
| start_audio_player | Iniciar renderizado de audio (reproducción de audio remoto) |
| stop_audio_player | Detener la renderización de audio |
| pause_audio_player | Pausar el renderizado de audio, con desvanecimiento opcional |
| resume_audio_player | Reanudar el renderizado de audio, con aparición gradual opcional |
| interrupt_audio_player | Interrumpir la sesión de audio actual |
Configuración de codificación de audio
| API | Descripción |
|---|---|
| set_audio_encoder_config | Establecer parámetros de codificación de audio |
| set_audio_decoder_config | Establecer parámetros de decodificación de audio |
Gestión de dispositivos de video
| API | Descripción |
|---|---|
| start_video_capture | Abrir el dispositivo de captura de video (cámara) |
| stop_video_capture | Cerrar el dispositivo de captura de video |
| set_local_view | Establecer o eliminar la ventana de renderizado de video local |
| set_remote_view | Establecer o eliminar la ventana de renderizado de video remoto |
Configuración de códec de video y entrada externa
| API | Descripción |
|---|---|
| set_video_encoder_config | Establecer parámetros de codificación de video |
| set_video_decoder_config | Establecer parámetros de decodificación de video |
| push_external_video_frame | Enviar tramas de video capturadas externamente |
| push_external_video_encoded_frame | Enviar tramas de video codificadas externamente |
Control de transmisión de flujo de medios
| API | Descripción |
|---|---|
| enable_send_media_stream | Habilitar o deshabilitar la transmisión de secuencia de medios local |
Reproducción de archivos de audio
| API | Descripción |
|---|---|
| start_audio_file | Iniciar la reproducción y publicación de un archivo de audio local |
| stop_audio_file | Detener la reproducción del archivo de audio |
| pause_audio_file | Pausar la reproducción del archivo de audio |
| resume_audio_file | Reanudar la reproducción del archivo de audio |
| get_audio_file_duration | Obtener la duración total del archivo de audio |
| get_audio_file_current_position | Obtener la posición de reproducción actual del archivo de audio |
| set_audio_file_position_millis | Buscar una posición en el archivo de audio |
| set_audio_file_volume | Establecer el volumen del archivo de audio |
| get_audio_file_volume | Obtener el volumen actual del archivo de audio |
Secuencias de audio externas
| API | Descripción |
|---|---|
| add_audio_external_stream | Agregar un flujo de audio externo |
| remove_audio_external_stream | Eliminar un flujo de audio externo |
| push_audio_external_stream_data | Enviar datos de audio PCM externos |
| set_audio_external_stream_volume | Establecer el volumen de la secuencia de audio externa |
| get_audio_external_stream_volume | Obtener el volumen de la secuencia de audio externa |
| clear_audio_external_stream_buffer | Borrar el búfer de la secuencia de audio externa |
Mensajes en tiempo real
| API | Descripción |
|---|---|
| send_data_msg | Enviar un mensaje de datos en tiempo real |
Devoluciones de llamada de cuadros de audio
| API | Descripción |
|---|---|
| set_audio_frame_observer | Establecer el listener del callback de tramas de audio |
| enable_audio_frame_observer | Habilitar o deshabilitar callbacks de tramas de audio en una etapa específica |
Devoluciones de llamada de cuadros de video
| API | Descripción |
|---|---|
| set_video_frame_observer | Establecer el listener del callback de tramas de video |
| enable_video_frame_observer | Habilitar o deshabilitar callbacks de tramas de video en una etapa específica |
Interfaces de devolución de llamada
| API | Descripción |
|---|---|
| on_error | Callback de error del motor |
| on_connection_status_change | Callback de cambio de estado de conexión |
| on_data_msg | Callback de mensaje de datos en tiempo real recibido |
Devoluciones de llamada de IAudioFrameObserver
| API | Descripción |
|---|---|
| on_captured_audio_frame | Se invoca cuando se captura un cuadro de audio sin procesar. El cuadro contiene datos PCM no procesados. |
| on_process_captured_audio_frame | Invocado para una trama de audio después del procesamiento 3A (AEC/AGC/ANS). |
| on_publish_audio_frame | Se invoca para un cuadro de audio antes de la publicación, inmediatamente antes de la codificación y la transmisión. |
| on_playback_audio_frame | Invocado para una trama de audio remota decodificada antes de la reproducción. |
Devoluciones de llamada de IVideoFrameObserver
| API | Descripción |
|---|---|
| on_captured_video_frame | Invocado cuando se captura una trama de video sin procesar. La trama aún no ha sido preprocesada. |
| on_pre_encode_video_frame | Invocado para una trama de video sin procesar después del preprocesamiento y antes de la codificación. |
| on_remote_video_frame | Invocado para una trama de video remota sin procesar después de la decodificación y antes de la renderización. |
Funciones de utilidad
| API | Descripción |
|---|---|
| load_library | Especificar y cargar manualmente la biblioteca compartida nativa |
Detalles de la API
Ciclo de vida del motor
create_engine
Crea la instancia del motor (método de clase). El SDK mantiene el motor como un singleton global, por lo que llamar a este método nuevamente devuelve la instancia existente. Después de destroy, debe llamar a create_engine nuevamente antes de poder continuar utilizando el motor.
Parámetros | Tipo | Descripción |
|---|---|---|
config | AoqCreateConfig | Configuración de creación del motor |
listener | AoqEngineEventListener | Listener de callbacks de eventos del motor |
destroy
Destruye la instancia del motor (método de clase) y libera todos los recursos.
get_version
Obtiene la versión actual del SDK (método estático).
connect
Se conecta al servidor de retransmisión. El servidor de aplicaciones obtiene parámetros de conexión AOQ temporales basados en el protocolo en uso y los envía al cliente. Para más información, consulte Autenticación por token.
Parámetros | Tipo | Descripción |
|---|---|---|
config | AoqConnectConfig | Configuración de conexión, que incluye el token, el SID y la lista de puntos de acceso de retransmisión |
disconnect
Desconecta del servidor y libera los recursos asociados con la conexión.
Gestión de dispositivos de audio
start_audio_capture
stop_audio_capture
mute_audio_capture
start_audio_player
stop_audio_player / pause_audio_player / resume_audio_player
interrupt_audio_player
Configuración de codificación de audio
Gestión de dispositivos de video
start_video_capture, establezca is_external en True y proporcione fotogramas mediante la llamada a push_external_video_frame. set_local_view, set_remote_view y AoqVideoCanvas.view no tienen efecto real en Linux. Para previsualizar el video, obtenga los fotogramas a través de una devolución de llamada de fotograma de video y realice el renderizado por su cuenta.
Configuración de códec de video y entrada externa
set_video_decoder_config
config especifica la configuración de decodificación de video. Solo los siguientes campos tienen efecto: track_type, codec_type, width, height, fps, bitrate. Otros campos se aplican únicamente a la codificación.
Llame antes de connect para proponer configuraciones de códec para las suscripciones.
Devuelve 0 en caso de éxito o un valor distinto de cero en caso de error.
- Para set_video_decoder_config, solo los campos track_type/codec_type/width/height/fps/bitrate surten efecto.
- push_external_video_frame se consume únicamente después de start_video_capture(is_external=True). Para formatos empaquetados (NV12/NV21/BGRA/RGBA), rellene
frame.data; para los tres planos I420, relleneframe.data_y/u/vy el stride correspondiente. Si el búfer está lleno, devuelve AoqErrorCode.VIDEO_EXTERNAL_BUFFER_FULL(210). - push_external_video_encoded_frame requiere que se haya llamado previamente a set_video_encoder_config(is_external=True, codec_type=VIDEO_JPEG). De lo contrario, devuelve AoqErrorCode.VIDEO_EXTERNAL_ENCODER_NOT_ENABLED(212). Utiliza la ruta de derivación sin recodificación y no requiere start_video_capture.
Control de transmisión de flujo de medios
Reproducción de archivos de audio
Secuencias de audio externas
Mensajes en tiempo real
Devoluciones de llamada de cuadros de audio
Devoluciones de llamada de cuadros de video
Interfaces de devolución de llamada
AoqEngineEventListener
Clase base para devoluciones de llamada de eventos del motor. Todos los métodos son anulaciones opcionales con implementaciones vacías por defecto. Las devoluciones de llamada se activan en hilos nativos, y usted debe garantizar la seguridad de los hilos por sí mismo.
on_error
on_connection_status_change
on_data_msg
Devoluciones de llamada de IAudioFrameObserver
Clase base para oyentes de datos de fotogramas de audio. Todos los métodos son anulaciones opcionales con implementaciones vacías por defecto.
AoqAudioFrameData.data ya es una copia de bytes y se puede utilizar de forma segura de manera asíncrona.
on_captured_audio_frame
Se invoca cuando se captura un cuadro de audio sin procesar. El cuadro contiene datos PCM no procesados.
| Parámetro | Tipo | Descripción |
|---|---|---|
| data | AoqAudioFrameData | Datos de fotograma de audio capturado |
on_process_captured_audio_frame
Invocado para una trama de audio después del procesamiento 3A (AEC/AGC/ANS).
| Parámetro | Tipo | Descripción |
|---|---|---|
| data | AoqAudioFrameData | Datos de trama de audio después del procesamiento 3A |
on_publish_audio_frame
Se invoca para un cuadro de audio antes de la publicación, inmediatamente antes de la codificación y la transmisión.
| Parámetro | Tipo | Descripción |
|---|---|---|
| track_type | AoqTrackType | Tipo de pista de audio |
| data | AoqAudioFrameData | Datos de trama de audio antes de la publicación |
on_playback_audio_frame
Invocado para una trama de audio remota decodificada antes de la reproducción.
| Parámetro | Tipo | Descripción |
|---|---|---|
| data | AoqAudioFrameData | Datos de trama de audio remota antes de la reproducción |
Devoluciones de llamada de IVideoFrameObserver
Clase base para oyentes de datos de fotogramas de video. Todos los métodos son anulaciones opcionales y devuelven False por defecto.
on_captured_video_frame
Invocado cuando se captura una trama de video sin procesar. La trama aún no ha sido preprocesada.
| Parámetro | Tipo | Descripción |
|---|---|---|
| track_type | AoqTrackType | Pista de cuadro (Video / Pantalla) |
| frame | AoqVideoFrame | Datos de fotograma de video capturado |
on_pre_encode_video_frame
Invocado para una trama de video sin procesar después del preprocesamiento y antes de la codificación.
| Parámetro | Tipo | Descripción |
|---|---|---|
| track_type | AoqTrackType | Pista de cuadro (Video / Pantalla) |
| frame | AoqVideoFrame | Datos de fotograma de video antes de la codificación |
on_remote_video_frame
Invocado para una trama de video remota sin procesar después de la decodificación y antes de la renderización.
| Parámetro | Tipo | Descripción |
|---|---|---|
| track_type | AoqTrackType | Pista de cuadro (Video / Pantalla) |
| frame | AoqVideoFrame | Datos de fotograma de video remoto decodificado |
Funciones de utilidad
load_library
libAoqClientSdk.so en el siguiente orden: la variable de entorno AOQ_CLIENT_SDK_LIB, el directorio del módulo, el directorio lib al mismo nivel y las rutas predeterminadas del sistema. Si la carga falla, se lanza una excepción OSError. Una causa típica es que una biblioteca dependiente no se encuentra en LD_LIBRARY_PATH.
Tipos de datos y enumeraciones
Todos los tipos de datos son dataclasses de Python. Puede construirlos directamente y asignar valores a los campos.
Tipos comunes
AoqCreateConfig
Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
work_dir | str | "" | Directorio de trabajo del SDK |
enable_dump_audio | bool | False | Especifica si se debe habilitar el volcado de audio (para depuración) |
extras | str | "" | Cadena de parámetros extendida |
| max_encoded_video_frame_bytes | int | 190 × 1024 | Tamaño máximo del cuadro codificado en bytes. Aplica solo al codificador JPEG interno del SDK. |
| enable_drop_oversized_video_frame | bool | False | Para el codificador JPEG interno del SDK, si se debe descartar un cuadro que sigue siendo demasiado grande incluso con la calidad más baja. |
AoqConnectConfig
Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
token | str | "" | Token de autenticación de conexión |
sid | str | "" | ID de sesión |
certificate | str | "" | Huella digital del certificado del servidor |
relay_endpoints | List[AoqRelayEndpoint] | None | Lista de puntos de acceso de retransmisión |
workspace_id_hash | str | "" | Hash del ID del espacio de trabajo |
publish_tracks | List[AoqTrackParam] | None | Lista de pistas publicadas locales |
subscribe_tracks | List[AoqTrackParam] | None | Lista de pistas suscritas locales |
AoqRelayEndpoint
Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
endpoint | str | "" | Nombre de dominio o dirección IP del servidor de retransmisión |
port | int | 0 | Puerto del servidor de retransmisión |
route_index | int | -1 | Índice de ruta. Si es menor que 0, el SDK lo rellena automáticamente basándose en el subíndice de la matriz. |
| tcp_port | int | 0 | Puerto de reserva TCP. Un valor de 0 utiliza el puerto predeterminado del SDK, 443. |
AoqTrackParam
Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
track_type | AoqTrackType | AoqTrackType.AUDIO | Tipo de pista |
AoqDataMsg
Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
data | bytes | b"" | Datos del mensaje (una cadena de bytes) |
Enumeraciones
AoqErrorCode
Valor de enumeración | Valor | Descripción |
|---|---|---|
OK | 0 | Éxito |
PARAM_INVALID | 1 | Parámetro no válido |
STATE_INVALID | 2 | Estado no válido |
AUDIO | 100 | Error genérico de audio |
AUDIO_EXTERNAL_BUFFER_FULL | 110 | El búfer de audio externo está lleno |
AUDIO_DEVICE | 120 | Error genérico de dispositivo de audio |
AUDIO_DEVICE_RECORDING_AUTH_FAILED | 121 | Permiso de grabación no concedido |
AUDIO_DEVICE_RECORDING_OCCUPIED | 122 | El dispositivo de grabación está en uso |
AUDIO_DEVICE_RECORDING_START_FAIL | 124 | Error al iniciar la grabación |
AUDIO_DEVICE_PLAYOUT_OCCUPIED | 125 | El dispositivo de reproducción está en uso |
AUDIO_DEVICE_PLAYOUT_START_FAIL | 127 | Error al iniciar la reproducción |
VIDEO | 200 | Error genérico de video |
VIDEO_EXTERNAL_BUFFER_FULL | 210 | El búfer de video externo está lleno |
AoqWarningCode
Códigos de advertencia.
| Valor de enumeración | Valor | Descripción |
|---|---|---|
| OK | 0 | Sin advertencia |
| AUDIO | 100 | Advertencia general de audio |
| AUDIO_HOWLING | 101 | Acople de audio detectado |
| AUDIO_DEVICE | 120 | Advertencia general de dispositivo de audio |
| AUDIO_DEVICE_MIC_ENUMERATE_ERROR | 121 | Error de enumeración de micrófono |
| AUDIO_DEVICE_MIC_START_TIMEOUT | 122 | Tiempo de espera de inicio del micrófono agotado |
| AUDIO_DEVICE_RECORDING_ERROR | 123 | Error de grabación |
| AUDIO_DEVICE_SPEAKER_ENUMERATE_ERROR | 124 | Error de enumeración de altavoces |
| AUDIO_DEVICE_SPEAKER_START_TIMEOUT | 125 | Tiempo de espera de inicio del altavoz agotado |
| AUDIO_DEVICE_PLAYOUT_ERROR | 126 | Error de reproducción |
| VIDEO | 200 | Advertencia general de video |
| VIDEO_CAMERA_ENUMERATE_ERROR | 201 | Error de enumeración de cámaras |
| VIDEO_ENCODER_SWITCHED | 202 | Codificador de video cambiado |
| VIDEO_RENDER_DOWNGRADE | 203 | Renderizado de video degradado |
AoqConnectionStatus
Valor de enumeración | Valor | Descripción |
|---|---|---|
DISCONNECTED | 0 | Desconectado |
CONNECTING | 1 | Conectando |
CONNECTED | 2 | Conectado |
FAILED | 3 | Error de conexión |
AoqTrackType
Valor de enumeración | Valor | Descripción |
|---|---|---|
AUDIO | 0 | Pista de audio |
VIDEO | 1 | Pista de video |
DATA | 2 | Pista de mensajes de datos |
AoqEncoderType
Valor de enumeración | Valor | Descripción |
|---|---|---|
UNKNOWN | 0 | Formato desconocido |
AUDIO_PCM | 1 | Audio PCM |
AUDIO_OPUS | 2 | Audio Opus |
VIDEO_H264 | 3 | Video H.264 |
VIDEO_JPEG | 4 | Video JPEG |
DATA_TEXT | 5 | Texto del mensaje |
AoqMirrorMode
Valor de enumeración | Valor | Descripción |
|---|---|---|
DISABLED | 0 | Deshabilitar espejo |
ENABLED | 1 | Habilitar espejo |
AoqOrientationMode
Valor de enumeración | Valor | Descripción |
|---|---|---|
AUTO | 0 | Auto-fit |
PORTRAIT | 1 | Vertical |
LANDSCAPE | 2 | Horizontal |
AoqRenderMode
Valor de enumeración | Valor | Descripción |
|---|---|---|
AUTO | 0 | Modo adaptativo |
STRETCH | 1 | Modo de estiramiento |
FILL | 2 | Modo de relleno |
CROP | 3 | Modo de recorte |
AoqVideoPixelFormat
Valor de enumeración | Valor | Descripción |
|---|---|---|
UNKNOWN | 0 | Formato desconocido |
I420 | 1 | I420 (formato planar YUV) |
NV12 | 2 | NV12 (formato semiplanar YUV) |
NV21 | 3 | NV21 (formato semiplanar YUV) |
BGRA | 4 | BGRA (32 bits) |
RGBA | 5 | RGBA (32 bits) |
| CV_PIXEL_BUFFER | 6 | Ruta de copia cero de Apple. No se utiliza en Linux. |
AoqCameraDirection
Valor de enumeración | Valor | Descripción |
|---|---|---|
FRONT | 0 | Cámara frontal (valor de enumeración genérico de plataforma; la captura de cámara no es compatible con Linux) |
BACK | 1 | Cámara trasera (valor de enumeración genérico de plataforma; la captura de cámara no es compatible con Linux) |
Tipos de audio
AoqAudioCaptureConfig
Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
is_external | bool | False | Especifica si se debe usar el modo de captura externa |
channel | int | 1 | Número de canales (mono por defecto) |
AoqAudioPlaybackConfig
Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
is_external | bool | False | Especifica si se debe usar el modo de reproducción externa |
channel | int | 1 | Número de canales (mono por defecto) |
AoqAudioCodecConfig
Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
track_type | AoqTrackType | AUDIO | Tipo de pista |
codec_type | AoqEncoderType | AUDIO_OPUS | Formato de códec |
sample_rate | int | 48000 | Tasa de muestreo, en Hz |
channel | int | 1 | Número de canales |
bitrate | int | 32000 | Tasa de bits, en bit/s |
AoqAudioFileMixConfig
Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
file_name | str | "" | Nombre del archivo (incluida la ruta). No puede estar vacío. |
cycles | int | -1 | Número de bucles. -1 indica un bucle ilimitado. |
start_pos_ms | int | 0 | Posición de inicio de reproducción, en milisegundos |
publish_volume | int | 100 | Volumen de publicación. Valores válidos: de 0 a 100. |
playout_volume | int | 100 | Volumen de reproducción. Valores válidos: de 0 a 100. |
AoqAudioExternalStreamConfig
Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
track_type | AoqTrackType | AUDIO | Tipo de pista de audio |
codec_type | AoqEncoderType | AUDIO_PCM | Formato de flujo de audio |
channels | int | 1 | Número de canales |
sample_rate | int | 48000 | Tasa de muestreo, en Hz |
playout_volume | int | 100 | Volumen de reproducción. Valores válidos: de 0 a 100. |
publish_volume | int | 100 | Volumen de publicación. Valores válidos: de 0 a 100. |
max_buffer_duration | int | 1000 | Duración máxima del búfer, en milisegundos |
enable_3a | bool | False | Especifica si se debe aplicar el procesamiento 3A al PCM de entrada |
AoqAudioFrameData
Datos de audio sin procesar, que se utilizan para entrada externa o devoluciones de llamada del observador.
Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
data | bytes | b"" | Datos PCM de audio sin procesar (una copia de bytes en las devoluciones de llamada) |
num_of_samples | int | 0 | Número de muestras (por canal) |
bytes_per_sample | int | 0 | Bytes por muestra |
num_of_channels | int | 0 | Número de canales |
samples_per_sec | int | 0 | Número de muestras por segundo (tasa de muestreo) |
push_sequence | int | 0 | Ronda de entrada PCM |
time_stamp | int | 0 | Marca de tiempo |
auto_gen_mute | bool | False | True indica datos silenciosos generados por el SDK |
AoqAudioObserverConfig
Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
sample_rate | int | 48000 | Frecuencia de muestreo del audio de devolución de llamada, en Hz |
channels | int | 1 | Número de canales de audio en la devolución de llamada |
mode | AoqAudioObserverMode | READ_ONLY | Modo de lectura y escritura |
AoqAudioStreamDirection
Valor de enumeración | Valor | Descripción |
|---|---|---|
PUBLISH | 0 | Publicando flujo |
PLAYOUT | 1 | Flujo de reproducción (flujo de suscripción) |
AoqAudioExternalStreamToggle
Valor de enumeración | Valor | Descripción |
|---|---|---|
NORMAL | 0 | Estado normal |
PAUSE | 1 | Estado en pausa |
AoqAudioSource
Valor de enumeración | Valor | Descripción |
|---|---|---|
CAPTURED | 0 | Datos de audio capturados |
PROCESS_CAPTURED | 1 | Datos de audio después del procesamiento 3A |
PUBLISH | 2 | Datos de audio a publicar |
PLAYBACK | 3 | Datos de audio a reproducir |
AoqAudioObserverMode
Valor de enumeración | Valor | Descripción |
|---|---|---|
READ_ONLY | 0 | Modo de solo lectura |
READ_WRITE | 1 | Modo de lectura y escritura |
Tipos de video
AoqVideoCaptureConfig
Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
width | int | 1280 | Ancho de captura, en píxeles. Este parámetro no tiene efecto cuando is_external=True. |
height | int | 720 | Altura de captura, en píxeles. Este parámetro no tiene efecto cuando is_external=True. |
fps | int | 15 | Tasa de fotogramas de captura. Este parámetro no tiene efecto cuando is_external=True. |
is_external | bool | False | Especifica si se debe utilizar captura externa. Linux solo admite True. Después de llamar a start_video_capture, proporcione fotogramas llamando a push_external_video_frame. |
camera_direction | AoqCameraDirection | FRONT | Dirección de la cámara para plataformas móviles. Linux no tiene la capacidad correspondiente. Mantenga el valor FRONT. |
AoqVideoCodecConfig
Parámetros del códec de video, compartidos por la codificación y la decodificación. Para la decodificación, solo track_type/codec_type/width/height/fps/bitrate tienen efecto, y los demás campos se utilizan únicamente para la codificación.
Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
| is_external | bool | False | Modo de codificación externa. Cuando es True, el llamante envía fotogramas codificados y el SDK no captura ni codifica video (se aplica solo a la codificación). |
track_type | AoqTrackType | VIDEO | Tipo de pista |
codec_type | AoqEncoderType | VIDEO_H264 | Formato de códec |
width | int | 540 | Ancho de codificación, en píxeles |
height | int | 960 | Altura de codificación, en píxeles |
fps | int | 5 | Tasa de cuadros de codificación |
bitrate | int | 500000 | Tasa de bits objetivo, en bit/s |
min_bitrate | int | 128000 | Tasa de bits mínima, en bit/s |
keyframe_interval | int | 2 | Intervalo de fotogramas clave, en segundos |
mirror_mode | AoqMirrorMode | DISABLED | Modo espejo |
orientation_mode | AoqOrientationMode | AUTO | Modo de orientación de video |
AoqVideoCanvas
Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
view | int | 0 | Identificador de ventana de renderizado. Linux no tiene backend de renderizado, por lo que este campo no tiene ningún efecto real. Mantenga el valor 0. |
render_mode | AoqRenderMode | AUTO | Modo de renderizado. Linux no tiene backend de renderizado, por lo que este campo no tiene ningún efecto real. |
AoqVideoFrame
Fotograma de video externo o datos de devolución de llamada de fotograma de video. Cuando utilice un formato empaquetado (NV12/NV21/BGRA/RGBA), rellene data. Cuando utilice los tres planos I420, rellene data_y/u/v y el paso correspondiente. Ambos métodos son mutuamente excluyentes.
Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
format | AoqVideoPixelFormat | UNKNOWN | Formato de píxel |
width | int | 0 | Ancho del video, en píxeles |
height | int | 0 | Altura del video, en píxeles |
data | bytes | b"" | Datos en formato empaquetado (NV12/NV21/BGRA/RGBA) |
data_y | bytes | b"" | Datos del plano Y I420 |
data_u | bytes | b"" | Datos del plano U I420 |
data_v | bytes | b"" | Datos del plano V I420 |
stride_y | int | 0 | Paso del plano Y |
stride_u | int | 0 | Paso del plano U |
stride_v | int | 0 | Paso del plano V |
time_stamp | int | 0 | Marca de tiempo, en milisegundos. Si es 0, el SDK la rellena con el reloj local. |
| native_pixel_buffer | int | 0 | Identificador de copia cero de Apple. Mantenga este campo en 0 en Linux. |
AoqVideoEncodedFrame
Un fotograma de video codificado externamente, como un fotograma JPEG.
Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
codec | AoqEncoderType | VIDEO_JPEG | Formato de códec |
data | bytes | b"" | Datos codificados |
width | int | 0 | Ancho, en píxeles |
height | int | 0 | Alto, en píxeles |
time_stamp | int | 0 | Marca de tiempo, en milisegundos. Si es 0, el SDK la rellena con el reloj local. |
AoqVideoObserverConfig
Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
format | AoqVideoPixelFormat | I420 | Formato de píxel esperado de los datos del callback |
alignment | AoqVideoObserverAlignment | DEFAULT | Política de alineación de ancho |
mode | AoqVideoObserverMode | READ_ONLY | Modo de lectura y escritura |
mirror_applied | bool | False | Especifica si se deben reflejar los datos del callback |
AoqVideoSource
Valor de enumeración | Valor | Descripción |
|---|---|---|
CAPTURED | 0 | Datos de video capturados antes del preprocesamiento |
PRE_ENCODE | 1 | Datos de video antes de la codificación, después del preprocesamiento |
REMOTE | 2 | Datos de video remoto después de la decodificación y antes de la renderización |
AoqVideoObserverMode
Valor de enumeración | Valor | Descripción |
|---|---|---|
READ_ONLY | 0 | Modo de solo lectura |
READ_WRITE | 1 | Modo de lectura y escritura |
AoqVideoObserverAlignment
Valor de enumeración | Valor | Descripción |
|---|---|---|
DEFAULT | 0 | Alineación predeterminada |
EVEN | 1 | Alineación de números pares |
ALIGN_4 | 2 | Alineación de 4 bytes |
ALIGN_8 | 3 | Alineación de 8 bytes |
ALIGN_16 | 4 | Alineación de 16 bytes |