Reputation: 439
I am dealing with WebRTC on android. My problem is I can not sent video which has more than 1280X1280 resolution. Even if I set video resolution as 1920x1080 WebRTC sends maximum 1280x1080 resolution. I see these results using StatsReport output.
It gives me these values when I set video as 1920X1080;
name : googFrameWidthInput, value : 1920
name : googFrameWidthSent value : 1280
name : googFrameHeightSent value : 1080
name : googFrameHeightInput value : 1080
I have 3 question in here.
1) Does WebRTC supports full hd video (1920X1080)?
2) How it modify my video resolution? Is it just decrease my video randomly? As seen from here it doesn't keep my video ratio , isn't it wrong?
3) As far as I know WebRTC decrease video resolution when cpu usage increase or network quality decrease. When one of these case occurs what will be my new video resolution and ratio? Is it decrease with a rule ?
Upvotes: 4
Views: 3732
Reputation: 148
1) Does WebRTC supports full hd video (1920X1080)?
Yes, both the local camera and the remote peer needs to support it or else it will choose the lower rate.
2) How it modify my video resolution? Is it just decrease my video randomly? As seen from here it doesn't keep my video ratio , isn't it wrong?
Again it is decided by the combination of your local camera and the advertisement of the supported resolution by the peer.
3) As far as I know WebRTC decrease video resolution when cpu usage increase or network quality decrease. When one of these case occurs what will be my new video resolution and ratio? Is it decrease with a rule ?
The variance in bitrate is not changing the resolution. It is the codec being set to adjustable bit rate, and dealing with the amount of motion in the scene. When there is more motion, there will be a higher bitrate.
Upvotes: 1
Reputation: 5788
1) Few days ago explore native code WebRTC and find some parameters of resolution, where was max only HD. But, maybe WebRTC can transform data for a suitable stream.
2) As you can see, from sample, all parameters is adding to PeerConnectionConstructure. But I think you tried this solution. If no, check the sample.
PeerConnectionParameters peerConnectionParameters =
new PeerConnectionParameters
( /* many different parameters, including resolution */);
Upvotes: 0