What does a Kurento specialist do?
A Kurento specialist builds real-time media services by designing and implementing WebRTC pipelines on Kurento Media Server. This role focuses on creating the server-side logic that connects application signaling with media processing elements to enable features like video conferencing, streaming, or recording. The specialist writes code that commands the media server to instantiate specific topologies, ensuring that audio and video data flows correctly between clients and backend services.
- Builds media pipelines by chaining required Media Elements such as WebRtcEndpoint, PlayerEndpoint, and RecorderEndpoint into a functional graph. The specialist uses Kurento Client APIs to define how media enters, processes, and exits the server, creating custom topologies that match specific application requirements for routing or transformation.
- Implements WebRTC signaling flows that use SDP Offer/Answer negotiation to establish capabilities between the client browser and the media server. This work involves writing server-side application logic that handles the exchange of session descriptions, ensuring that both parties agree on codecs and network parameters before any media transfer begins.
- Develops integration code that connects the application server to Kurento Media Server via WebSocket-based communication channels. The specialist configures the KurentoClient to create and control pipelines dynamically, handling events such as connection states, error conditions, and media flow interruptions to maintain stable real-time sessions.
How to hire a Kurento specialist on Upwork
Step 1: Post a job
Define your real-time media requirements clearly to attract qualified engineers. Use the Job Post Generator powered by Uma™, Upwork's Mindful AI to draft your listing. Describe your needs in a few sentences and Uma drafts a job post for the role. You can write a new post, update a saved draft, or reuse an existing post.
- Specify the exact media pipeline topology you need, such as chaining WebRtcEndpoint with RecorderEndpoint for storage.
- List required Kurento Client APIs, such as Java or Node.js, to ensure compatibility with your application server stack.
- Detail the signaling flow expectations, including how the freelancer must handle SDP Offer/Answer negotiation via WebSocket.
Step 2: Evaluate candidates
Review portfolios for demonstrated experience building custom media processing graphs. Uma can run instant video interviews and build shortlists with side-by-side comparisons to help you assess technical fit quickly.
- Look for code samples that show proper instantiation of MediaPipeline objects and error handling during endpoint creation.
- Verify past work includes successful integration of Kurento Media Server with external application logic for security or auth.
- Check for evidence of troubleshooting complex media negotiation issues, such as resolving SDP mismatches between clients and server.
Step 3: Interview your top choices
Discuss specific implementation strategies for your media use case. Interviews can be scheduled and conducted within Upwork Messages with an immediate transcript and summary after each one.
- Ask how they structure server-side logic to dynamically create and connect Media Elements based on user requests.
- Request examples of how they manage WebSocket connections between the Kurento client and Kurento Media Server.
- Discuss their approach to testing media exchange behavior to confirm correct audio and video transmission after negotiation.
Step 4: Agree on scope and begin work
Set clear milestones for pipeline development and integration tasks. Use Upwork Messages and the contract workroom for communication and project management, plus identity verification, payment protection, hourly tracking, and project funds for security.
- Define deliverables such as a working WebRTC application integration that successfully negotiates SDP parameters.
- Require configuration code that connects your application server to Kurento endpoints via the specified WebSocket URI.
- Establish testing criteria that demonstrate correct media flow through the constructed graph of connected Media Elements.
Upwork is not affiliated with and does not sponsor or endorse any of the tools or services discussed in this article. These tools and services are provided only as potential options, and each reader and company should take the time needed to adequately analyze and determine the tools or services that would best fit their specific needs and situation.
The rates and information provided in this article are based on current data and industry sources available at the time of publication. Freelance rates can vary depending on factors such as experience, location, project scope, and market conditions. Readers are encouraged to conduct their own research to confirm current rates and trends, as this information may change over time.