Hello,
I'm using the latest Kurento 6.6.0 and JavaScript, and I'm trying to record video streams in HD resolutions, specifically 720p (1280x720) but to no avail. The maximum recording resolution i can attain for a 16:9 ratio is 640x360.
Important to note that I can record with absolutely no issue at lower resolutions like 320x240 or 640x480 for a 4:3 aspect ratio.
I've done some research and i know that Kurento by default restricts BW for WebRTC endpoints to 500Kbps and restricts BW on transcodings to 300Kbps.
To note that I am using Kurento to transcode VP8 directly to H.264 when recording by specifying the MP4 mediaProfile.
I am using basic constraints and when just accessing the camera in the browser the resolution is correct:
var constraints = {
audio: true,
video: {
width: 1280,
height: 720,
framerate: 30
}
};
1. I've set an unrestrained bandwidth to the webRTC endpoint like so:
pipeline = yield client.create('MediaPipeline');
var webRtc = yield pipeline.create('WebRtcEndpoint');
webRtc.setMinVideoSendBandwidth(0);
2. I've set a desired output bitrate directly from JS:
var recorder = yield pipeline.create('RecorderEndpoint', {mediaProfile: 'MP4', uri: args.file_uri});
recorder.setOutputBitrate(5000000);
3. I've set a desired output bitrate directly from Kurento's config file
MediaElement.conf.ini
The only thing that had any effect was point 3. The bitrates of the recordings did indeed change, but i still could not attain the desired HD resolution and couldn't see any change in quality even though the recordings had around 5000 Kb/s , still capped at 640x360.
Points 1 and 2 didn't have any effect.
Any help would be greatly appreciated
Thank you