<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-GB" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">Hi,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I am using Verto to connect to FreeSwitch over webRTC in a conference call.  This works fine most of the time however when using an older device that does not support hardware acceleration for the video encoding, it appears that some frames
 are dropped.  The CPU is pegged at 100% utilisation, with 60-80% of that being from the chrome process.  This is understandable when using older hardware however when this occurs FreeSwitch fails to send FIR packets to get a new keyframe, leading to the ‘video
 mute’ image being shown until the next scheduled keyframe (which with VP8 is, by default, around 3000 frames, equivalent to 100 seconds at 30fps).  The client seems to be unaware of any issues as it continues to encode frames and send them over the network,
 leading me to believe it is an issue with FreeSwitch.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">My current solution is to enable the ‘kf-max-dist’ parameter in ‘vpx.conf.xml’ however this leads to occasional stuttering, I assume this is because it must encode a full frame every 10 seconds.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The other solution I have tested is swapping to the H.264 codec (the only other codec supported by webRTC) which makes the issue less noticeable however the quality of the stream drops significantly when no FIR is requested.  H.264 isn’t
 an option for me as some of my target clients are Android devices which do not support H.264 over webRTC.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Given that sometimes the session works as expected with FIR packets being sent when needed, leading to a small video stutter before it recovers, I am unsure how to fix it or what logs etc to provide.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Any pointers would be appreciated <span style="font-family:"Segoe UI Emoji",sans-serif">
😊</span><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks<o:p></o:p></p>
<p class="MsoNormal">Josh<o:p></o:p></p>
</div>
</body>
</html>