Ivan,
Part of what you ask for is available in Linphone.
In RFC 3550, RTP, there are defined periodic reports through the
RTCP transmissions.
The proposed frequency of these reports is one per a few
seconds, e.g. 5 seconds.
The contents of the RTCP RR Receiver Reports is supposed to
contain a number of fields for feedback from receiver to
transmitter. Among these fields are fields for reporting packet
loss, and jitter.
However, I have not seen this part of the RTCP reports from
Linphone. So, for making use of this reporting for Linphone, I
see two actions required:
1. Add at least packet loss info and possibly more quality
related RTCP fields to the RTCP RR reports.
2. Add evaluation logic of the RTCP RR reports for video, and
introduce as a first action when bad transmission is reported,
to reduce target bandwidth, reduce resolution to QCIF and
increase Quantization. Only if that is not sufficient, you may
optionally turn off video, but that should be on agreement with
the user. Maybe you can select a more narrow band audio codec
instead. A video stream even at low resolution may say more than
1000 words.
Remember to also have a smooth algorithm for trying to regain
bandwidth and quality when networks seem better, but be careful
to not enter wild feedback fluctuations in these changes.
It is also good to include an option to use text, e.g. real-time
text as a complement that usually goes through even in terrible
network conditions.
Maybe the Linphone team already has something in this direction
planned or developed?
Regards
Gunnar
-------------------------------------------------------------------------
On 2012-10-19 15:03, IVAN FERNANDEZ wrote:
Hi list,
I've got both mobile versions of linphone
(iOS/Android) working and supporting h264 video. Now, I'm
looking for a way to automatically make a fallback
video->audio when connectivity decrease in the middle of a
video call.
I think is not exactly a question of QoS. Maybe
the Linphone would make periodically some kind of check over
the video that is receiving (bitrate, packets lost…) in order
to apply the fallback to audio if low quality levels are read
for a fixed lap time.
What do you think about? Any of you have
implemented something similar? Any hints?
Thanks in advanced,
Regards and have a good weekend
_______________________________________________
Linphone-developers mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/linphone-developers
_______________________________________________
Linphone-developers mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/linphone-developers