En esta página
Puedes controlar SermonWave en OBS sin tocar el panel: con los atajos propios de OBS, o desde un Stream Deck o Bitfocus Companion mediante obs-websocket. Este artículo explica qué está disponible y qué todavía no.
Para quién es#
Para directores técnicos que ya manejan OBS con atajos, un Elgato Stream Deck, Bitfocus Companion o un controlador similar.
Antes de empezar#
- El plugin está instalado y vinculado. Consulta Vincula OBS con SermonWave.
- Para Stream Deck / Companion: el servidor obs-websocket está habilitado en OBS (Herramientas → Ajustes del servidor WebSocket → Habilitar servidor WebSocket (Tools → WebSocket Server Settings → Enable WebSocket server)). Viene incluido en OBS 28 y posteriores.
- Tu controlador puede enviar una solicitud obs-websocket sin procesar (por ejemplo, el módulo de OBS de Companion con una solicitud personalizada, o un plugin de Stream Deck que admita
CallVendorRequest).
Atajos#
En esta Beta, el plugin de SermonWave no agrega atajos propios en Ajustes de OBS → Atajos (OBS Settings → Hotkeys). Ahí no vas a encontrar entradas de "SermonWave".
Normalmente no los necesitas, porque la traducción sigue a OBS:
- En el panel, pon Traducir cuando en Transmitiendo, Grabando o Transmitiendo o grabando. Consulta Configura audio, idiomas e inicio/parada en OBS.
- En Ajustes de OBS → Atajos, asigna teclas a los comandos propios de OBS Iniciar transmisión / Detener transmisión (Start Streaming / Stop Streaming) e Iniciar grabación / Detener grabación (Start Recording / Stop Recording).
- Ahora, al pulsar esas teclas se inician y detienen juntas la traducción, las transmisiones traducidas y las grabaciones traducidas.
Solicitudes de proveedor de obs-websocket#
El plugin registra un proveedor (vendor) de obs-websocket llamado sermonwave. Cualquier cliente de obs-websocket puede llamarlo con la solicitud estándar CallVendorRequest:
{
"requestType": "CallVendorRequest",
"requestData": {
"vendorName": "sermonwave",
"requestType": "get_state",
"requestData": {}
}
}
Los idiomas se indican con códigos cortos, por ejemplo es, fr, pt.
Solicitudes útiles#
| Tipo de solicitud | Datos de la solicitud | Qué hace |
|---|---|---|
get_state | — | Vinculación, número de dispositivo, idiomas del dispositivo, idioma de los subtítulos, estado. |
get_outputs | — | Por idioma: estado de la transmisión/grabación, tasa de bits, fotogramas perdidos, progreso de la re-sincronización, estado de YouTube y enlace para ver. |
set_output | language más cualquiera de los campos de abajo | Cambia la sección de un idioma. |
add_language | language | Igual que Añadir idioma. |
remove_language | language | Igual que Quitar. |
set_sync_delay | sync_delay_ms (4000–15000) | Fija el Retardo de sincronización. |
set_languages | source_language, target_languages (lista de {"code": "es"}) | Guarda los idiomas del dispositivo, como Guardar idiomas. Cambia el dispositivo para todos. |
set_youtube_channel | channel | Guarda Canal para /listen. |
youtube_state | — | Estado del inicio de sesión y de la emisión de YouTube. |
youtube_settings | privacy (unlisted, public, private), title_template | Fija la privacidad y el título de YouTube. |
youtube_keys | refresh (true/false) | Muestra las claves de transmisión de tu canal. |
collect_diagnostics | reason | Envía ahora un informe de diagnóstico al soporte de SermonWave. |
Campos de set_output#
Todos son opcionales excepto language:
stream_now:"start"o"stop"— igual que Iniciar ahora / Detener ahora.stream_enabled,record_enabled,room(true/false) — Transmitir en …, Grabar una copia en …, Reproducir … en la sala.preset:youtube_rtmps,youtube_rtmps_backup,youtube_rtmp,facebook,custom; odestination:youtube_autopara YouTube (automático).server,key— servidor y clave de transmisión para una plataforma manual.sync_video,stream_captions,record_captions,captions_default,resync,keep_live(true/false).bg_db,bg_off,duck_db— nivel de Audio original, Apagado de Audio original y nivel de Bajo la traducción, en dB.
Ejemplos#
Iniciar ahora la transmisión traducida al español:
{
"requestType": "CallVendorRequest",
"requestData": {
"vendorName": "sermonwave",
"requestType": "set_output",
"requestData": { "language": "es", "stream_now": "start" }
}
}
Activar la reproducción en la sala del francés:
{
"requestType": "CallVendorRequest",
"requestData": {
"vendorName": "sermonwave",
"requestType": "set_output",
"requestData": { "language": "fr", "room": true }
}
}
Bajar el sonido original bajo la traducción al español a −25 dB:
{
"requestType": "CallVendorRequest",
"requestData": {
"vendorName": "sermonwave",
"requestType": "set_output",
"requestData": { "language": "es", "duck_db": -25 }
}
}
La respuesta llega en el responseData de la contestación. Solicitudes como set_output responden {"ok": true} de inmediato; comprueba el resultado con get_outputs.
Solución de problemas#
La solicitud falla con un proveedor desconocido. obs-websocket no estaba funcionando cuando OBS cargó el plugin, o el plugin no está instalado. Habilita el servidor WebSocket y reinicia OBS.
set_output devuelve ok: false. Falta el campo language.
No pasa nada con un idioma. Asegúrate de que ese idioma esté agregado en Idiomas (o llama primero a add_language).
Preguntas frecuentes#
¿Habrá atajos de SermonWave más adelante?#
Es posible. Por ahora, usa los atajos propios de OBS para transmitir y grabar, o las solicitudes de arriba.
¿Es segura la conexión de obs-websocket?#
Es local en tu red. Deja activado Habilitar autenticación (Enable Authentication) en los Ajustes del servidor WebSocket y usa la contraseña en tu controlador.