Llamadas, juegos y streaming
Informes de llamadas y sesiones remotas, el modo llamada, la comprobación antes de las reuniones, el ping a servidores de juegos y el overlay.
Informes de llamadas
Después de cada llamada, Kilobat te dice si se congeló y por qué. Detecta una llamada cuando Zoom, Microsoft Teams, FaceTime, Slack, Webex, Discord, WhatsApp, Telegram, Signal o un navegador usa el micrófono más de diez segundos. Nunca oye la llamada: solo ve qué app usa el micrófono, algo que macOS ya muestra. Hasta que termina la llamada, hace ping a internet y a tu router una vez por segundo, anota la otra app más activa y revisa la CPU, la memoria, la temperatura y la GPU del Mac cada cinco segundos.
Dos o más segundos seguidos de pings perdidos, o de pings 200 ms más lentos de lo habitual en la llamada, cuentan como una congelación. Cada congelación recibe una causa: otra app subiendo o descargando en ese momento, otro dispositivo de tu red (según los contadores de tráfico de tu router, cuando los comparte por UPnP), el Wi-Fi (cuando el router también se atascó), el escaneo de AirDrop o más allá de tu router. Aparte, la tarjeta indica cuándo el propio Mac tuvo problemas: la CPU al máximo (y por qué app), la memoria agotándose, el Mac ralentizándose por calor o la GPU al máximo. La tarjeta aparece en Estado › Llamadas y como notificación. Sin Pro muestra cuántas veces se congeló la llamada; Kilobat Pro nombra las causas y dice qué probar. Desactívala en Ajustes › Red › Informe tras cada llamada. En la terminal, kilobat calls lista las tarjetas, y los agentes las obtienen con get_call_reports.
Cuando una llamada se congeló más allá de tu router, donde están los propios servidores del servicio de llamadas, Kilobat consulta la página de estado de ese servicio al terminar la llamada, y la tarjeta dice lo que informaba en ese momento: «Según la página de estado de Zoom, en ese momento había una caída», con la incidencia y un enlace, o que no informaba de problemas. Esta parte es gratis.
Informes de SSH y escritorio remoto
Después de una sesión de SSH, Mosh o escritorio remoto, Kilobat te dice si hubo retraso al escribir o se congeló la pantalla, y por qué. Cuenta un ssh o mosh-client que tenga su propio terminal (un tty, o una app de terminal como Terminal, iTerm2, Ghostty, WezTerm, kitty, Warp o VS Code entre sus procesos padre), y Compartir pantalla, Parsec, Jump Desktop, Windows App (Microsoft Remote Desktop), AnyDesk, TeamViewer y RustDesk mientras muestran una pantalla remota. Una sesión necesita un minuto de escritura en el terminal o el visor en primer plano antes de recibir un informe, así que scp, sftp, rsync, git por ssh, los túneles (-N, -f), los saltos ProxyJump, los comandos sueltos y el ssh en segundo plano de editores o agentes nunca cuentan. Las sesiones a este mismo Mac (una VM o un contenedor en localhost) se omiten. Chrome Remote Desktop se ejecuta dentro de una pestaña del navegador y no se puede distinguir del navegador. Kilobat nunca lee la sesión: ve el proceso, la dirección a la que está conectado y cuántos bytes mueve.
Mientras una sesión está abierta, Kilobat hace ping al host una vez por segundo (a la dirección propia del host, tal como la nombra la conexión), a internet y a tu router, lee de macOS el tiempo de ida y vuelta TCP de la conexión cada pocos segundos y anota la otra app más activa, el Wi-Fi y la carga del Mac, igual que en los informes de llamadas. Dos o más segundos de pings perdidos, o pings 150 ms más lentos de lo habitual en la sesión, cuentan como un retraso; en SSH y Mosh, solo mientras escribías. Cada retraso recibe una causa, en el orden de los informes de llamadas: la página de inicio de sesión del Wi-Fi cerrando tu sesión, luego otra app subiendo o descargando, otro dispositivo de tu red (con su nombre cuando es un Mac enlazado con Kilobat), jitter o señal débil en el Wi-Fi, el escaneo de AirDrop, Starlink, tu proveedor o más allá (internet también se atascó), o el propio camino hasta el host (internet respondió a tiempo, pero el host no). Cuando el retraso estuvo más allá de tu router y el host pertenece a un servicio cuya página de estado lee Kilobat, como Tailscale, el informe dice cuándo ese servicio reconoció una caída. Un host a 150 ms o más se señala como lejano aunque la línea estuviera limpia. Cuando las pulsaciones quedaron sin respuesta durante dos segundos o más mientras el host y tu router respondían a los pings a tiempo, el propio servidor iba lento; Kilobat solo lo dice después de que pase dos veces, y solo en SSH. Un host que ignora el ping se mide hasta internet, con el tiempo de ida y vuelta TCP de la conexión para su distancia y para esa comprobación.
En SSH, cuando los retrasos vinieron de jitter en el Wi-Fi, AirDrop, Starlink o el camino, o el host está lejos, es inestable o pierde paquetes, el informe sugiere Mosh, que muestra lo que escribes al instante y aguanta los paquetes perdidos y los cambios de Wi-Fi. No lo sugiere cuando la causa fue una app, otro dispositivo, el Mac o el servidor, porque Mosh solo lo ocultaría. Una sesión termina cuando su proceso se cierra, o tras diez minutos sin pulsar una tecla (tres en un escritorio remoto), y el informe se detiene en la última entrada. Los informes aparecen en Estado › Sesiones remotas, que se muestra cuando Kilobat ha visto una sesión; solo llega una notificación tras una sesión con retrasos o congelaciones. Sin Pro, el informe dice cuántas veces; Kilobat Pro nombra las causas, dice qué probar y cuándo ayudaría Mosh. Desactiva los informes o sus notificaciones en Ajustes › Red › Informe tras sesiones remotas. En el terminal, kilobat remote los lista (--kind ssh|mosh|desktop), y los agentes los leen a través de get_remote_session_reports.
Informes de transmisión de OBS
Después de cada transmisión desde OBS, Kilobat indica si se perdieron fotogramas, cuándo y por qué. Lee OBS Studio 28 o posterior mediante su servidor WebSocket integrado (obs-websocket 5). En OBS, abre Tools › WebSocket Server Settings y marca Enable WebSocket server; después activa Ajustes › Transmisión › Informes de transmisión de OBS en Kilobat, con el puerto (4455 salvo que lo hayas cambiado) y la contraseña si OBS la solicita. La contraseña se guarda en el Llavero del Mac. Probar conexión indica claramente si funcionó o si OBS no está abierto, su servidor WebSocket está desactivado, se necesita una contraseña o esta es incorrecta. Kilobat solo se conecta a 127.0.0.1 y solicita contadores: nunca ve el video, el audio, el chat ni tu clave de transmisión. No lee Streamlabs Desktop ni otras apps de transmisión: Streamlabs tiene su propio control remoto (puerto 59650, con un token), cuya única cifra de fotogramas perdidos no indica si los perdió la red o el codificador.
Mientras OBS transmite, Kilobat le solicita una vez por segundo el estado de la transmisión (fotogramas perdidos por la red, que OBS llama Dropped Frames (Network), su cifra de congestión y los bytes enviados) y sus estadísticas (fotogramas no renderizados por retraso, fotogramas omitidos por retraso de codificación y uso de CPU de OBS). Junto a ello mide la línea como en los informes de llamadas: un ping por segundo a internet y al router, la otra app más activa, la carga del Mac, los contadores de tráfico del router para otros dispositivos cuando los comparte mediante UPnP, los informes de los Mac enlazados, la señal Wi-Fi, AirDrop, una antena Starlink y la página de acceso del Wi-Fi.
Cada intervalo con fotogramas perdidos recibe una causa, y los de la red se distinguen de los propios de OBS. Por parte de la red: otra app de tu Mac subiendo datos (como Dropbox), otro dispositivo de la red, pausas del Wi-Fi o del router (con señal débil o AirDrop cuando fueron la causa), Starlink, el cierre de sesión en la página de acceso del Wi-Fi, una tasa de bits superior a la subida sostenida o un problema más allá del router, en tu proveedor o en la ruta al servidor de ingestión. Los fotogramas omitidos por retraso de codificación indican que el codificador no siguió el ritmo, y los no renderizados por retraso indican un problema de la GPU, normalmente ocupada con el juego; el informe aclara que no fue tu conexión. El consejo depende de la causa: reducir la tasa de bits a una que admita tu subida, pausar la app, usar el modo de llamada para transmisiones, Ethernet en vez de Wi-Fi, un servidor de ingestión más cercano, un ajuste de codificador más rápido o el codificador de hardware (Apple VT H264), o reducir la resolución o la frecuencia de fotogramas.
Los informes aparecen en Estado › Transmisiones, junto a Llamadas y Sesiones remotas, cuando Kilobat ha detectado una transmisión. Solo se envía una notificación cuando la pérdida es apreciable: el 0.5 % o más de los fotogramas de la transmisión, o un intervalo con una pérdida del 5 % o más. Sin Pro, el informe indica cuántos fotogramas se perdieron; Kilobat Pro identifica cada causa y qué cambiar. El modo de llamada para transmisiones (Pro) pone en espera las apps que pausa el modo de llamada, como Dropbox, Google Drive, OneDrive y Backblaze, además de las descargas de Steam mientras no haya un juego en primer plano, desde que OBS empieza a transmitir hasta que termina.
La comprobación antes de transmitir indica si tu subida puede sostener la transmisión de esta noche. Desde Estado › Transmisiones, el atajo Comprobar antes de transmitir en directo o kilobat stream check, ejecuta unos ocho segundos de subida por una conexión a Cloudflare (hasta 16 MB) y 20 pings a 1.1.1.1 para medir jitter y pérdida. Lee la tasa de bits configurada en OBS (en el modo de salida simple, del perfil; en avanzado, de los ajustes del codificador del perfil), la de tu última transmisión o la que indiques, y compara: la subida debe superar la tasa de bits en un 30 %. Indica listo; ajustado cuando la subida cubre la tasa de bits pero no el margen; o insuficiente, con una tasa de bits adecuada (la subida dividida por 1.3 y redondeada hacia abajo a 100 kbps). También identifica las apps que están subiendo datos. En una red con límite nunca mide sin preguntar y usa la última prueba de velocidad de esa red, indicándolo. La comprobación es gratuita.
En la terminal, kilobat stream (o stream status) indica si OBS está conectado y transmitiendo, con los fotogramas perdidos hasta ahora; kilobat stream check ejecuta la comprobación previa (--bitrate <kbps> para configurarla, --no-measure para usar la última prueba de velocidad, --measure para probar de todos modos en una red con límite); kilobat stream reports enumera transmisiones anteriores. Cada uno admite --json. Los agentes usan get_stream_reports y check_stream_readiness, ambos de solo lectura. Consulta Kilobat para creadores de transmisiones.
Juegos en la nube
Mientras se juega en la nube, Kilobat mide la sesión como los informes de llamadas miden una llamada y después indica cuándo hubo cortes y por qué. Reconoce GeForce NOW, Boosteroid y Shadow en sus apps para Mac por el nombre de la app, y GeForce NOW, Xbox Cloud Gaming, Amazon Luna, Boosteroid y Shadow en un navegador. Una sesión comienza cuando el tráfico de la app o del navegador transporta una transmisión de juego: durante diez segundos, principalmente 2 Mbps o más de UDP entrante, 3 Mbps de promedio y cuatro veces lo que sale. El video web habitual en el puerto 443 y la mayoría de las llamadas bidireccionales no cumplen esa condición. Otra pestaña activa en el mismo navegador puede afectar la estimación. En un navegador también debe identificarse la transmisión: Kilobat busca los nombres propios del servicio entre los hosts con los que se comunica el navegador, a partir de los nombres del filtro de red o DNS inverso (play.geforcenow.com, los hosts gssv-play bajo xboxlive.com, luna.amazon., cloud.boosteroid.com, pc.shadow.tech). Una transmisión de navegador que no pueda identificar se deja sin cambios, por lo que sin el filtro de red algunas sesiones de navegador no se registran. Nunca ve el juego, el video ni tu cuenta.
Durante una sesión, Estado › Juegos en la nube muestra el ping, jitter y pérdida de los últimos 30 segundos (al servidor de la transmisión si responde al ping; si no, a 1.1.1.1), la tasa de bits y los datos estimados a partir del tráfico pertinente del cliente, y lo que interfiere ahora en este Mac: búsqueda de AirDrop, Wi-Fi en 2.4 GHz, señal débil y apps con grandes subidas o descargas, identificando Fotos en iCloud, iCloud Drive, Time Machine y las actualizaciones de macOS. Pausar AirDrop y las transferencias en segundo plano pone en pausa el enlace de AirDrop (gratis; macOS solicita una contraseña de administrador) y, con Pro, pone en espera las apps que pausa el modo de llamada, como Dropbox, Google Drive y las descargas de Steam, hasta que termine la sesión, cambies a una de ellas o pasen tres horas como máximo. Los servicios de iCloud y actualización de Apple no se suspenden; la tarjeta indica cómo pausarlos manualmente. En una red con límite o una zona Wi-Fi añade los datos por hora a la tasa de bits actual, el total previsto para la duración habitual de tus sesiones en ese servicio (una hora hasta que haya observado tres) y cuándo se agotará tu límite allí.
Un corte son dos o más segundos de pings perdidos o 100 ms por encima de la mediana de la sesión, o tres o más segundos con la tasa de bits de la transmisión por debajo del 40 % de su mediana (cuando el servicio reduce la calidad de imagen), sin contar el primer medio minuto ni los últimos segundos. Para cada corte se registran todas las causas presentes: la página de acceso del Wi-Fi, el Wi-Fi cuando el router también se detuvo (desglosado en 2.4 GHz, señal débil, AirDrop y nodo mesh lejano), una antena Starlink, otra app transfiriendo muchos datos, otro dispositivo de la red o algo más allá del router. Un ejemplo: «Hubo cortes a las 21:14 durante 40 s: Wi-Fi de 2.4 GHz mientras Fotos en iCloud subía datos». Sin Pro, el informe indica cuántos cortes hubo, con el ping, la tasa de bits y los datos; Kilobat Pro identifica cada causa y qué cambiar. Se envía una notificación tras una sesión con cortes (Ajustes › Transmisión › Informes de juegos en la nube y Avisar después de una sesión con cortes). Se guardan los últimos 200 informes en este Mac.
En la terminal, kilobat cloud-gaming (o cloud-gaming status) muestra la sesión actual y kilobat cloud-gaming reports las anteriores, cada una con --json. Los agentes usan get_cloud_gaming, de solo lectura. Consulta juegos en la nube en un Mac, con páginas para GeForce NOW, Xbox Cloud Gaming, Boosteroid, Amazon Luna y Shadow.
Modo llamada
El modo llamada detiene las apps que congelan las llamadas mientras estás en una. Cuando empieza una llamada, Kilobat suspende Dropbox, Google Drive, OneDrive, Box, Backblaze, Arq, Creative Cloud, los clientes de torrent y apps similares que estén abiertas, y rechaza sus nuevas conexiones, así que una subida en curso se detiene al instante. Los lanzadores de juegos (Steam, Epic Games, Battle.net) solo se pausan mientras descargan y no hay ningún juego en primer plano, para que el juego y su chat de voz sigan funcionando. Todo se reanuda en cuanto termina la llamada, cuando cambias a una de las apps, cuando Kilobat se cierra o, como mucho, a las tres horas; una lista escrita antes de cada pausa garantiza que nada se quede suspendido, incluso tras un fallo. Los servicios de iCloud y de actualizaciones de Apple no se suspenden. Elige las apps en Ajustes › Red › Modo llamada › Elegir…, donde también puedes pausar AirDrop durante las llamadas (macOS pide tu contraseña al empezar cada llamada). La tarjeta de la llamada indica luego qué apps pausó el modo llamada. El modo llamada forma parte de Kilobat Pro.
La comprobación antes de reuniones
Activa Ajustes › Red › Comprobar antes de reuniones y permite el acceso a Calendarios una vez. Unos cinco minutos antes de un evento con un enlace de Zoom, Google Meet, Microsoft Teams, FaceTime, Webex, Whereby o similar, Kilobat dedica diez segundos a revisar el tráfico de otras apps, el Wi-Fi, 100 pings rápidos a internet, AirDrop y la carga del Mac. Solo te avisa cuando algo congelaría la llamada, como «Dropbox está subiendo y la señal Wi-Fi es débil»; con Kilobat Pro, la notificación tiene un botón que pausa esas apps hasta que termine la llamada. El calendario se lee en este Mac y nada de la reunión se guarda ni se envía a ningún sitio.
Ping a servidores de juegos
¿En qué región deberías buscar partida? En Velocidad › Servidores de juegos, abre el selector de juegos, busca tu juego y haz clic en «Hacer ping a los servidores». Kilobat hace cinco pings a cada centro de datos de ese juego, unos pocos a la vez, y los ordena por ping mediano con jitter y pérdida, con el más cercano primero como El mejor para ti. Una región más estable a menos de 2 ms gana a una más irregular. Tarda unos cinco segundos y solo se ejecuta cuando lo pides. El selector muestra primero los juegos que usaste por última vez y luego todos los juegos según cuánta gente los juega.
A qué se hace ping depende de dónde publica o aloja cada juego sus servidores, y la cifra es siempre tu ping al centro de datos de esa región, no al servidor de la partida en la que acabes, que puede sumar un poco:
- Relés de Valve, para Counter-Strike 2, Dota 2, Deadlock y Team Fortress 2: el relé de Valve en cada centro de datos, según la lista de relés que Steam publica para cada juego. Su tráfico de emparejamiento pasa por esos relés, y el propio
net_print_sdr_ping_timesde CS2 mide los mismos. - Servidores de ping de Epic, para Fortnite: el servidor de ping que Epic indica para cada subregión de emparejamiento. Donde una red bloquea el ping, Kilobat mide en su lugar el tiempo de una conexión TCP a él.
- Regiones de AWS, para Apex Legends, Dead by Daylight y Marathon: estos juegos alojan las partidas en Amazon GameLift, y Kilobat envía un eco UDP a la propia baliza de ping de GameLift en cada región de AWS que usa el juego (Apex y Marathon indican las suyas en su configuración de centros de datos de Steam). Se etiqueta con la región, por ejemplo «Frankfurt · AWS eu-central-1».
- Regiones de Azure, para Rainbow Six Siege, Age of Empires II, III y IV y Age of Mythology: los centros de datos de Siege son regiones de PlayFab en Azure, y cada sala de Age of Empires indica la región de Azure de su servidor de relé. Kilobat envía la sonda de latencia de PlayFab a su baliza en cada región; donde una región no tiene baliza (UK West), mide el tiempo de una conexión TCP a Azure Storage en esa región.
- Servidores de prueba oficiales, para Brawlhalla y Hunt: Showdown 1896: los servidores de prueba de ping que la ayuda de Brawlhalla indica para cada región (medidos por TCP, ya que no responden al ping) y las dos direcciones de prueba que Crytek publica para las regiones Europa y EE. UU. Este de Hunt.
Los juegos que no publican nada a lo que hacer ping aparecen en el selector con el motivo, sin conjeturas: Valorant y League of Legends (Riot no publica ningún destino, y las direcciones que comparten los jugadores ya no responden), Overwatch 2, Call of Duty, PUBG, Marvel Rivals, Roblox, World of Warcraft y otros sin servidores ni regiones publicados; GTA Online, Helldivers 2, Destiny 2 y Warframe, donde los jugadores alojan las partidas; Minecraft, Rust, Palworld y Valheim, donde te unes a servidores de otros; y EVE Online, cuya dirección responde en un nodo de Cloudflare en lugar de en Londres. Para ellos, usa tu partida actual.
Tu partida actual, en la parte superior del panel, funciona con cualquier juego. Mientras juegas, Kilobat mira el juego en primer plano, o el último que lo estuvo (una app de la categoría Juegos, un juego de tu biblioteca de Steam o un juego de Windows en CrossOver, Whisky o Wine), toma el servidor con el que intercambia más datos UDP, sin contar el tráfico web, de DNS y de establecimiento de llamadas de voz, indica el país en el que DB-IP registra la dirección (o el centro de datos de Valve, si es uno de los relés de Valve) y le hace cinco pings. Muchos servidores de juegos no responden al ping; entonces Kilobat dice «Este servidor no responde al ping» en lugar de mostrar pérdida. Algunos juegos envían desde una conexión que macOS no etiqueta con una dirección, y Kilobat dice que no puede ver su servidor.
Haz clic en Usar en el overlay para mostrar cualquiera de los dos pings en el stream: el overlay hace entonces ping a ese centro de datos, o al servidor de tu partida, una vez por segundo y lo nombra en la píldora, por ejemplo «CS2 · Frankfurt» o «Match · Germany»; en el caso de la partida, vuelve a buscar el servidor cada 30 segundos. En la terminal, kilobat games lista los juegos, kilobat games --game aoe4 muestra la tabla y el destino del overlay de un juego, kilobat games --match comprueba tu partida y kilobat overlay --target aoe4:westeurope o --target match lo emite; los agentes usan get_game_ping.
Overlay para streaming
Muestra tu ping en directo en la transmisión. Activa Ajustes › Transmisión › Superposición de transmisión y añade http://localhost:7171/ como fuente de navegador en OBS, Streamlabs o cualquier app de transmisión (640 × 80 es suficiente). Un pequeño indicador muestra el ping, jitter, pérdida y el último minuto como una línea. Por defecto hace ping a internet (1.1.1.1); elige tu router, tu partida actual o un centro de datos de juegos junto al ajuste o desde Servidores de juego. El indicador muestra su nombre, que server=0 en la URL oculta. El murciélago del inicio sonríe en azul cuando la línea va bien, cambia a violeta cuando se ralentiza y frunce el ceño en rosa cuando va mal. Cámbialo en la URL: ?show=ping,jitter,loss,graph,speed, theme=dark, light o clear, y size=s, m o l. Con Pro, brand=0 oculta el logotipo y face=0 muestra un punto en lugar del murciélago. Mientras está activo, Kilobat hace ping al destino una vez por segundo; la página se sirve en 127.0.0.1, por lo que solo este Mac puede abrirla. Sin la app, kilobat overlay sirve la misma página hasta pulsar Ctrl-C, con --target para el router, match o una región de juego. Para saber después por qué OBS perdió fotogramas y comprobar tu subida antes de transmitir, consulta Informes de transmisión de OBS.