https://livekit.io logo
Join Slack
Powered by
# ingress
  • l

    limited-plumber-57970

    06/13/2025, 6:21 PM
    Hey all, is anyone using a docker image hosted on a container registry that contains both the LiveKit CLI and a feature rich GStreamer installation? I'm looking for an environment where I can run a simple shell script that will generate an RTMP URL from an
    ingress.json
    + then use it to spin up a simple
    gst-launch-1.0
    pipeline that pulls MJPEG/RTSP, transcodes it, and then sends to ingress.
    r
    • 2
    • 1
  • f

    freezing-wolf-7180

    06/17/2025, 11:26 AM
    Hi, we’re using Twilio (SIP/trunk) and CallHippo to dial into LiveKit rooms, but our TTS reply “Hello, thanks for calling” gets cut off—the first few words are missing when the agent start speaking, and the bot only starts speaking after a delay, with the first few words cut off. We call:
    Copy code
    await session.start(...)
    await session.generate_reply(user_input="Hello")
    Question: What’s the best way to guarantee the full greeting plays? Should we: • Delay
    generate_reply()
    , • Wait for a LiveKit/Twilio event (like audio bridge or subscription ready), Thanks!
    r
    h
    • 3
    • 7
  • e

    echoing-glass-72062

    06/23/2025, 5:28 PM
    Is it possible to create an Egress to Ingress Bridge between two LiveKit instances?
    r
    • 2
    • 5
  • m

    miniature-spring-29693

    06/23/2025, 6:28 PM
    Hello team! I'm an avid user of LiveKit - I'm on the ship plan, ad we're using 60 concurrent active ingresses per day to stream in and out of our systems. We're scaling our systems up now, and we're going to need more than 100 concurrent ingresses. It is my understanding that the enterprise plan offers unlimited concurrent ingresses. Just curious about the Scale plan? I see contradictory documentation online I see unlimited here and 100 here. What options do we have?
    🎯 1
    r
    • 2
    • 6
  • b

    bumpy-leather-73255

    06/28/2025, 7:23 PM
    Hello everyone, does ingress support av1 codec from OBS? If so, how should I enable it? I configured my room to accept av1 codec but when I stream from OBS to the whip endpoint, only H264 is successful. I would get a WARN ingress service/service.go:174 ingress failed {"nodeID": "NE_hgyfpduiDe2L", "error": "unsupported format for the source media"} error either using h265 or av1.
    t
    • 2
    • 1
  • g

    gentle-truck-12665

    07/02/2025, 3:09 AM
    Hello teams. We are using Ingress with RTMPs to implement livestreaming functionality, and we are encountering an issue with the "Tape Recorder Effect", where the viewer's screen lags behind the broadcaster's screen. When the broadcaster's network connection is unstable, this delay increases and accumulates over the course of the livestream, resulting in a delay of 50–60 seconds after just around 2 hours of streaming. The only solution we currently know is to reset the streaming session. We would like to know if there are any ways to improve or mitigate this issue. I'm looking forward to here from you. Thank you.
    👀 1
    t
    • 2
    • 8
  • c

    cold-angle-82013

    07/04/2025, 6:24 AM
    Hello, I am trying to set up SIP Ingress on my LiveKit Cloud project. I am the project admin, but the 'Ingress' option is not visible in the left-hand navigation menu of my project dashboard. Could you please check my project and enable this feature for me? My Project ID is: p_68yjrpvagdp
    t
    • 2
    • 1
  • r

    ripe-psychiatrist-10917

    07/10/2025, 6:45 PM
    Hello, wea are using WHIP ingresses for our video feeds into livekit. Worked fine. Today we are seeing 502/503 errors while hitting ingress endpoints. E.g.
    <https://test-camera-stream-gd7ljdv1.whip.livekit.cloud/w/SPzb9xihZATE>
    project url:
    <wss://test-camera-stream-gd7ljdv1.livekit.cloud>
  • h

    hallowed-breakfast-84608

    07/14/2025, 2:58 PM
    Hi, maybe someone has configured Livekit and Livekit Ingress locally for streaming via RPTM (OBS) ? I don't understand how to connect locally to streaming. OBS starts streaming and transmits to local server, but through JS client error " could not establish pc connection" All deployed in docker-compose via bridge network.
    e
    • 2
    • 1
  • e

    echoing-glass-72062

    07/16/2025, 6:35 PM
    Are there any thoughts of SRT Ingress? We were able to get a solid pipeline to create an Egress-to-Ingress Bridge with RTMP, but really desire to do this over SRT. Largely because SRT is a UDP based protocol, and RTMP is TCP based.
    ➕ 1
  • h

    hundreds-battery-20727

    07/17/2025, 1:01 AM
    Hi, what are some typical use cases for ingress?
    f
    • 2
    • 1
  • s

    silly-noon-22999

    07/23/2025, 10:30 PM
    Hello! I've been having some issues while trying to push an RTMP stream to ingress using a gstreamer pipeline and was wondering if anyone could help. When pushing the stream the pipeline will immediately crash and I get this log in livekit
    Copy code
    INFO	livekit	service/ioservice_ingress.go:79	ingress failed	{"error": "Get \"<http://localhost:9090/rtmp/RT_dLxEEeMcD8uw?token=2Uivr4DhQKqC>\": context canceled", "ingressID": "IN_CCU2Vaukv3tR"}
    I've attached screenshots of the full logs I get in livekit and ingress. The behavior seems flaky and after restarting the pipeline several times I can eventually get the ingress to succeed. In my setup for reproducing this issue I'm running redis, livekit, and ingress in 3 separate docker containers. Here is my command for redis
    Copy code
    docker run --network host redis:7.0.4
    for livekit
    Copy code
    docker run \
      --network host \
      -v "$(pwd)/livekit.yaml:/livekit.yaml" \
      livekit/livekit-server:v1.9.0 \
      --config livekit.yaml \
      --keys "$LIVEKIT_API_KEY: $LIVEKIT_API_SECRET"
    and for ingress
    Copy code
    docker run \
      --network host \
      -v "$(pwd)/ingress.yaml:/ingress.yaml" \
      -e LIVEKIT_API_KEY="$LIVEKIT_API_KEY" \
      -e LIVEKIT_API_SECRET="$LIVEKIT_API_SECRET" \
      -e INGRESS_CONFIG_FILE="/ingress.yaml" \
      livekit/ingress:v1.4.3
    I then launch a container with gstreamer
    Copy code
    docker run --network host -it restreamio/gstreamer:2025-04-03T13-33-21Z-prod
    and run this pipeline after creating the ingress and getting the stream key
    Copy code
    gst-launch-1.0 \
      videotestsrc ! \
      video/x-raw,framerate=10/1,width=1280,height=720 ! \
      x264enc tune=zerolatency speed-preset=ultrafast ! \
      flvmux ! \
      rtmpsink location=<rtmp://localhost:1935/rtmp/><stream key>
    I've attached the configs for livekit and ingress that I used as well as the
    ingress.json
    . Thanks!
    ingress.yaml
    ingress.jsonlivekit.yaml
    this 5
  • q

    quick-painter-39455

    07/31/2025, 2:33 PM
    hello, im using livekit cloud, can i get help to check that websocket is enabled for me at /ingress/ws?
    t
    • 2
    • 1
  • c

    chilly-jordan-11202

    08/02/2025, 10:15 AM
    👋 Olá, equipe!
    👋 1
  • g

    green-dawn-14969

    08/06/2025, 3:27 PM
    I am receiving the error "failed to add element to pipeline: video output bin" when streaming via WHIP to an ingress endpoint. It seems to be something on LiveKit's side. When googling that error it seems to be related to GStreamer. And my AI coding agent seems to thing this is an issue with livekit gstreamer on the server, you can see in the attached screenshot. Any ideas?
    • 1
    • 1
  • a

    adamant-application-83003

    08/12/2025, 9:38 PM
    quero fazer o transmissão rtmp e configurar para o Ant Media enviar para o LiveKit, mas não estou achando o código para transmitir
  • n

    nice-shoe-83241

    08/20/2025, 3:07 AM
    I am receiving the dtls error with GStreamer
    Copy code
    /GstPipeline:pipeline0/GstLiveKitWebRTCSrc:src/GstBin:bin0/GstWebRTCBin:webrtcbin0/TransportReceiveBin:transportreceivebin0/GstDtlsSrtpDec:dtlssrtpdec0/GstDtlsDec:dtlsdec0:
    Fatal SSL error
    started from yesterday, any ideas?
    Copy code
    Nest] 1  - 08/20/2025, 2:59:15 AM     LOG [MONITOR_LMVMTPE007337_02-52-05] Room LMVMTPE007337 track published
    [Nest] 630  - 08/20/2025, 2:59:16 AM   ERROR [RC_LMVMTPE007337_2025-08-20-02-59-15] Error: Could not read from resource.
    [Nest] 630  - 08/20/2025, 2:59:16 AM   ERROR [RC_LMVMTPE007337_2025-08-20-02-59-15] Debug information: ../ext/dtls/gstdtlsdec.c(504): process_buffer (): /GstPipeline:pipeline0/GstLiveKitWebRTCSrc:src/GstBin:bin0/GstWebRTCBin:webrtcbin0/TransportReceiveBin:transportreceivebin0/GstDtlsSrtpDec:dtlssrtpdec0/GstDtlsDec:dtlsdec0:
    Fatal SSL error
    r
    • 2
    • 6
  • f

    few-energy-45879

    08/22/2025, 7:33 AM
    Hello Team, does anyone know how to implement ingress in python basically i want to add a m3u8 streamed in a conference room
    r
    • 2
    • 1
  • c

    chilly-ocean-30297

    08/26/2025, 5:11 AM
    Hello team, I am experiencing a critical inconsistency between client-side logs and LiveKit dashboard when streaming from GStreamer to LiveKit via WHIP protocol. INCONSISTENCY BETWEEN CLIENT AND SERVER From Client Side (GStreamer logs): • ✅ WHIP handshake successful (HTTP 201 Created) • ✅ ICE connection state: "connected" • ✅ Peer connection state: "connected" • ✅ Media streaming working normally From LiveKit Dashboard: • ❌ Shows error: "could not establish signal connection" • ❌ Connection reported as failed System Configuration • Protocol: WHIP • LiveKit Endpoint:
    https://[project_url]/w/stream_key
    • Stream Key: • Media Format: ◦ Video: H.264, 1280x720@10fps, constrained-baseline profile ◦ Audio: Opus, 48kHz mono • GStreamer Pipeline:
    whipclientsink
    with LiveKit endpoint Additional Information • Issue occurs consistently - client always reports connected but dashboard always shows error • Same stream key and endpoint used • Network connection is stable How can we debug the "signal connection" in more detail from LiveKit server side? Do you have any ideas?
    • 1
    • 5
  • b

    bulky-solstice-44329

    09/01/2025, 7:39 AM
    Question --------- This post is regarding the migration of a LiveKit VM-based deployment, currently running with the below setup: A three-node, VM-based cluster for the LiveKit media service. Each corresponding node is configured with a Public IP, meaning we are using three public IPs. Requirements: ------------- I would like to migrate the LiveKit media VM-based deployment to a Kubernetes-based one. I am proposing the flow should be as follows: Signaling HTTP/HTTPS calls are handled from an HAProxy Load Balancer (port 443) --> to an Ingress Controller (for SSL offloading) --> to the backend media apps. The media apps share an FQDN URL, a Public IP address, and UDP port 3478, along with client ports 40000-60000/UDP. Challenge: ---------- After completing the setup and handling the signaling HTTP/HTTPS traffic via the HAProxy LB and Ingress (because Ingress only supports TCP/HTTP/HTTPS traffic), a challenge remains. Once a client device (e.g., a mobile phone with a chat app that has a built-in call feature) receives the information from the media apps in step 2 (regarding the public IP and UDP ports to make a WebSocket connection on port 3478/UDP and distribute client ports 40000-50000), how do we address this in Kubernetes? The Ingress controller cannot handle this UDP traffic directly. Furthermore, I would like to use a single public IP address for the LiveKit server instead of three. Can I use the HAProxy Load Balancer (Enterprise version) public IP and use SNI to connect to LiveKit? Or do we need to use a new public IP for LiveKit by making its Kubernetes Service type LoadBalancer? Please suggest the architecture and flow for migrating LiveKit from a VM-based to a Kubernetes-based deployment.
  • r

    refined-caravan-84858

    09/17/2025, 5:00 PM
    There is no stream running with ingress right now, still why then it says that Concurrent ingress request is 107? Am I missing something here? Last session done with Ingress was 3 hours ago
    r
    • 2
    • 3
  • f

    fancy-iron-28362

    09/26/2025, 7:26 AM
    Hey all 👋 Quick question about bridging rooms in LiveKit Cloud. I have a single ingress feed (WHIP) and I’d like that same feed to be view-only across multiple rooms simultaneously. From the docs/GitHub issues it looks like each room is isolated and an ingress can only publish to one room. The workarounds I’ve seen are things like: – a client or agent subscribing in one room and re-publishing into others – viewer clients joining two rooms (one for the broadcast feed, one for local interaction) – egress→ingress loops (but that adds latency). My question: Is there any native or managed way in LiveKit Cloud to share one ingress track into multiple rooms, ideally without building my own bridging service? Could LiveKit Agents be the right tool here? Looking for the most “managed” solution possible, not spinning up custom infra.
  • d

    delightful-controller-55441

    10/02/2025, 8:39 AM
    I am using LiveKit SDK in my iOS app for live audio commentary. The audio plays in the foreground and background, but I want to control it from the lock screen and control center like a music player. How can I achieve this?
  • d

    delightful-helmet-69813

    10/08/2025, 1:26 AM
    Hello I am using my console as well as the playground to test my agent but I am not hearing anything. I have already interacted with it but cant seem to hear it now. Once I nail this I am going to add function calling and all types of different functions but first comprehend what my error is. Also anyone who has already done production agnets, any tipe??
  • b

    busy-monitor-49778

    10/13/2025, 5:44 PM
    does anyone have advise on how to use livekit ingress? I am seeing this issue: https://livekit-users.slack.com/archives/C088ZNU7QQ5/p1760376786919399 and would love to get some guidance as to why my ingress is consistently failing as soon as I start streaming via rtmps with
    Get "<http://localhost:9191/rtmp/RT_dAMkhQQsUydw?token=7gDaA7TFYLAF>": context canceled
    l
    • 2
    • 7
  • s

    square-spoon-25272

    10/27/2025, 9:43 PM
    Hi! I think there might be a bug in the UI right now. The total minutes are showing as really high when they should be 0. Hopefully I don’t get charged for this 😅. I’m currently implementing third-party ingresses, and I suspect the ingress might be ending immediately after starting (possibly because I’m using a stale ingress object).
    👀 2
    b
    • 2
    • 4
  • a

    adorable-dream-8909

    10/30/2025, 12:21 PM
    has anyone integrated already BUTT ("Broadcast Using This Tool") as a way to stream audio in a livekit room?
  • m

    magnificent-island-84572

    11/11/2025, 1:07 AM
    I really don't understand what "Last active at" and "Duration" really mean on the Ingresses dashboard. I created ingresses WITHOUT using them to stream content. How com I am have a duration count? It also shows last active at. Does LiveKit start charging once you create an RTMP or WHIP Ingress? These are RTMP and WHIP ingresses. I can understand if they are HTTP or SRT ingresses, in which case thy are used immediately once you create them and can't be reused. Could someone help understand what is going on?
  • b

    blue-fall-23940

    11/13/2025, 4:52 AM
    Hello team. Could you please help me run the LiveKit server and LiveKit Ingress using Docker Compose? My config : compose:
    Copy code
    services:
      # --- Redis for Ingress queue ---
      redis:
        image: redis:7-alpine
        container_name: redis
        restart: always
        ports:
          - "6379:6379"
        networks: [livekit-net]
        healthcheck:
          test: ["CMD", "redis-cli", "ping"]
          interval: 5s
          timeout: 3s
          retries: 5
    
      livekit-server:
        image: livekit/livekit-server:latest
        container_name: livekit-server
        restart: always
        volumes:
          - ./livekit/livekit.yaml:/config/livekit.yaml
        command: ["--config", "/config/livekit.yaml"]
        environment:
          LIVEKIT_KEYS: "key1: supersecretkeythatlongenough1234567890"
        ports:
          - "7880:7880/tcp"
          - "7881:7881/tcp"
          - "7882:7882/udp"
          - "1935:1935/tcp"
          - "50000-50100:50000-50100/udp"
        networks: [livekit-net]
        depends_on:
          redis:
            condition: service_healthy
        healthcheck:
          test: ["CMD", "wget", "--spider", "-q", "<http://localhost:7880>"]
          interval: 10s
          timeout: 5s
          retries: 3
    
      livekit-ingress:
        image: livekit/ingress:latest
        container_name: livekit-ingress
        restart: always
        volumes:
          - ./ingress/ingress.yaml:/config/ingress.yaml
        environment:
          INGRESS_CONFIG_FILE: "/config/ingress.yaml"
        ports:
          - "8080:8080"
          - "7885:7885/udp"
        networks: [livekit-net]
        depends_on:
          redis:
            condition: service_healthy
          livekit-server:
            condition: service_healthy
    
      backend:
        build: ./backend
        container_name: backend-server
        restart: always
        env_file: .env
        ports:
          - "3000:3000"
        networks: [livekit-net]
        depends_on:
          livekit-server:
            condition: service_healthy
          livekit-ingress:
            condition: service_started
    
    networks:
      livekit-net:
        driver: bridge
    livekit.yaml
    Copy code
    port: 7880
    
    redis:
      address: redis:6379
    
    rtc:
      port_range_start: 50000
      port_range_end: 50100 
      tcp_port: 7881
    
      use_external_ip: false
      enable_loopback_candidate: false
    
    logging:
      level: info
    
    turn:
      enabled: false
    
    ingress:
      rtmp_base_url: <rtmp://livekit-server:1935/live>
      whip_base_url: <http://localhost:8080/w>
    ingress.yaml:
    Copy code
    api_key: key1
    api_secret: supersecretkeythatlongenough1234567890
    
    ws_url: "<ws://livekit-server:7880>"
    
    redis:
      address: redis:6379
    
    rtmp_port: 1935
    whip_port: 8080
    http_relay_port: 9090
    
    logging:
      json: false
      level: debug
    
    development: true
    
    rtc_config:
      udp_port: 7885
      
      use_external_ip: false
      enable_loopback_candidate: false
    But: When i stream WHIP by OBS. I can't live stream
  • m

    magnificent-island-84572

    11/13/2025, 7:08 PM
    Please could someone from LiveKit help explain how ingress RTMP and WHIP works. I posted a question but I'm not getting any response. It seems to me that the actual implementation is different from what the documentation says.