-
Notifications
You must be signed in to change notification settings - Fork 66
Description
Prerequisites
These are MANDATORY, otherwise the issue will be automatically closed.
- I agree to fill this issue template.
- I have read the Troubleshooting Guide and Support Instructions.
Issue description
When H265 support is enabled in Kurento (ENABLE-H265 = true
), an H265-encoded video is transmitted to Kurento Media Server via an RTP Endpoint configured with sendonly
. This setup works correctly — Kurento receives the stream and recording via RecorderEndpoint
works fine.
However, if we connect this RTP Endpoint to a WebRtcEndpoint
, and a browser client (Chrome) tries to view the stream with a recvonly
SDP offer, the video does not appear. ICE negotiation and SDP negotiation are successful, and Chrome supports H265 decoding.
The following Kurento log appears at the moment the RTP stream is being relayed to the WebRTC endpoint:
2025-06-04T10:13:52,216833 16978 0x00007d6a4a3f36c0 warning basertpendpoint kmsbasertpendpoint.c:1577 kms_base_rtp_endpoint_set_media_payloader() <kmswebrtcendpoint0> Payloader not found for media 'video'
This indicates that the payloader for media "video" is not found, even though the SDP negotiation includes H265 and the browser supports H265 decoding.
The same stream works when connected to a RecorderEndpoint
, and the recorded video is valid — suggesting that the RTP sender and Kurento H265 decoder are both functioning properly. The problem occurs only when relaying the stream via WebRTC to the browser.
Context
Our goal is to send H265-encoded RTP streams into Kurento and deliver them via WebRTC to Chrome browsers. RTP recording works, but playback via WebRTC fails due to missing payloader logic.
How to reproduce?
- Enable H265 in Kurento (
ENABLE-H265=true
) - Stream H265 RTP video into RTP Endpoint (sendonly)
- Connect to
RecorderEndpoint
→ verify recording works - Connect to
WebRtcEndpoint
- Use Chrome browser with H265
recvonly
SDP offer - Observe no video is received despite successful SDP and ICE negotiation
Expected & current behavior
Expected:
The H265 stream should be delivered to the browser via WebRTC.
Current:
No packets are delivered to the browser. Kurento logs indicate:
Payloader not found for media 'video'
.
(Optional) Possible solution
There may be a missing mapping between H265 codec and a payloader element within Kurento's WebRTC pipeline. A dynamic H265 payloader setup might be required when bridging RTP input to WebRTC output.
Info about your environment
- RTP Endpoint (
sendonly
) is receiving H265 - Connected to
RecorderEndpoint
→ video saved properly - WebRtcEndpoint → browser fails to receive stream
- Chrome SDP includes support for H265
- Kurento logs show "Payloader not found" when trying to send RTP stream to WebRTC endpoint
About Kurento Media Server
- Kurento version: 7.2.0
- Server OS: Ubuntu 24.04.2 LTS
- Installation method:
About your Application Server
- Programming Language: Node.js
- Kurento Client version: 7.2.0
About end-user clients
- Device(s): Mac
- OS(es): iOS 14.2
- Browser(s): Chrome136