Live stream transcoding from IP camera, RTSP to WebRTC (supporting ABR and H265)
Budget: $250 – $750 USD
Hello,
My project for development is to transcode IP camera (RTSP) streams and decrease their bit rate. In this project, the quality of the transcoded stream is very important, also the latency.
In this project, the output stream of the IP camera (h264 and h265) will come to the transcoding box, and after transcoding (decreasing its bitrate), we will restream it again by WebRTC, and the viewer will play the transcoded stream on the web browser. The output stream from IP Camera will be a maximum of 4K-25fps. The supported codecs in the transcoding part are H264, H265, and AV1.
The latency in this project should be the lowest as much as possible. The best value is under 300 ms (in 1080) and 500 ms (in 4k). And the quality of the transcoded stream should be good, if we measure it with PSNRy, it will be around 40 dB (in a 30% to 25% compression ratio).
The transcoded stream bitrate will be around 40% to 10% of the original stream. For example, if the original bitrate of an IP camera in 4K is 4 Mbps then the transcoded stream will be around 1.6 Mbps to ~ 0.4 Mbps. The optimal value for decreasing the bitrate considering the quality is 25%.
Also, the user/player will not have access to the transcoding box, just he can add, manage and change the transcoding configuration in a simple web server (like input URL stream, output bitrate/codec, output URL).
The transcoding should be done in CPU and GPU (Nvidia GPU, h264, and h265) and the user will select one of them on the configuration page.
In this project quality of the transcoded stream is very important and power efficiency doesn't matter. One of the main parts of this project is to use Adaptive Bitrate (ABR) based on quality to reduce the resolution of the transcoded (compressed) stream. Because in some scenarios the bandwidth will be dropped to under 100 kbps. The resolution could be dropped to 144p!
This project will be run and tested on the local/public network.
The input stream protocol is RTSP (from IP camera), and the output will be WebRTC.
The first stage of the development is based on the x86 structure. In the 2nd stage, we'll support the ARM structure.
After reviewing it, if you have any questions please let me know.
This development time is less than a week.
The payment is fixed at 500$ + bonus (it depends on the development progress of the compressed stream quality) and it is based on successful delivery.
Regards,
Ben.
My project for development is to transcode IP camera (RTSP) streams and decrease their bit rate. In this project, the quality of the transcoded stream is very important, also the latency.
In this project, the output stream of the IP camera (h264 and h265) will come to the transcoding box, and after transcoding (decreasing its bitrate), we will restream it again by WebRTC, and the viewer will play the transcoded stream on the web browser. The output stream from IP Camera will be a maximum of 4K-25fps. The supported codecs in the transcoding part are H264, H265, and AV1.
The latency in this project should be the lowest as much as possible. The best value is under 300 ms (in 1080) and 500 ms (in 4k). And the quality of the transcoded stream should be good, if we measure it with PSNRy, it will be around 40 dB (in a 30% to 25% compression ratio).
The transcoded stream bitrate will be around 40% to 10% of the original stream. For example, if the original bitrate of an IP camera in 4K is 4 Mbps then the transcoded stream will be around 1.6 Mbps to ~ 0.4 Mbps. The optimal value for decreasing the bitrate considering the quality is 25%.
Also, the user/player will not have access to the transcoding box, just he can add, manage and change the transcoding configuration in a simple web server (like input URL stream, output bitrate/codec, output URL).
The transcoding should be done in CPU and GPU (Nvidia GPU, h264, and h265) and the user will select one of them on the configuration page.
In this project quality of the transcoded stream is very important and power efficiency doesn't matter. One of the main parts of this project is to use Adaptive Bitrate (ABR) based on quality to reduce the resolution of the transcoded (compressed) stream. Because in some scenarios the bandwidth will be dropped to under 100 kbps. The resolution could be dropped to 144p!
This project will be run and tested on the local/public network.
The input stream protocol is RTSP (from IP camera), and the output will be WebRTC.
The first stage of the development is based on the x86 structure. In the 2nd stage, we'll support the ARM structure.
After reviewing it, if you have any questions please let me know.
This development time is less than a week.
The payment is fixed at 500$ + bonus (it depends on the development progress of the compressed stream quality) and it is based on successful delivery.
Regards,
Ben.