What is transcoding and why is there a limit on simultaneous sessions?
Transcoding is the process of taking compressed or encoded content, decompressing or decoding it, and then modifying it in some way and re-compressing or re-encoding it. The most common scenario is decreasing the resolution and bitrate/framerate. Sometimes this can include changing a video or audio format from one to another (e.g, MJPEG to H264), or adding watermarks to the video.
A transcoding session is one instance of this process, so when you need to transcode multiple things you can have multiple sessions in order to transcode simultaneously. This session is initiated when the GET/media/<cameraId>.<format> API call is made with WEBM and MPJPEG format AND links with a custom resolution parameter.
Since Nx Witness 4.0, we set a default limit of no more than 2 simultaneous transcoding sessions. This limit was put in place to avoid CPU overload issues that were often observed at sites with progressive download enabled. As a result, this change may break some integrations which relied on more than 2 simultaneous transcoding sessions.
How to increase the number of simultaneous transcoding sessions?
- Administrator level permissions are required to make the change.
- Modify the following address and enter it into your browser:
- To increase this limit, on the advanced settings page search for:
Max amount of HTTP connections using transcoding for the server. Chrome opens 2 connections at once, then close the first one. So, it is recommended to set value >=2 to this parameter.
- Modify the value of the maxHttpTranscodingSessions parameter.
- Click Save to confirm your changes.
- Restart the server.
Please be aware of the potential CPU overload. We don't recommend increasing this value unless your hardware is suitable for the task.
If you have any questions related to this topic, or you want to share your experience with other community members or our team, please visit and engage in our support community or reach out to your local reseller.
Have you guys looked into using Intel QuickSync when available on the CPU to enable more streams without taking a big hit on CPU usage?
We tried to use QuickSync in the experimental builds and it introduced lots of graphic issues so we decided to put this on hold for now.
Article is closed for comments.