Video stuttering during second or third loop in WebGL build

I am currently having a problem with videos suddenly stuttering during their second or third loop. I am using Unity 2022.3.7f1. The way I have the videos set up is with a video player rendering the video to a render texture. It takes a second to load in the video when it gets called but that is fine. Anyone have any idea why the second loop is stuttering so much?

This is what it looks like:

This is how my video player is set up

and this is how I am starting the video:

    void InitializeVideoPlayer()
    {
        videoPlayer = this.GetComponent<VideoPlayer>();
        videoPlayer.url = videoPlayer.url = System.IO.Path.Combine(Application.streamingAssetsPath, fileName);

        videoPlayer.Play();
        FadeIn();
    }
    public void FadeIn()
    {
        targetEmissionColor = new Color(191f / 255f, 191f / 255f, 191f / 255f, startEmissionColor.a);
        StartCoroutine(FadeMaterial(0f, 1f, startEmissionColor, targetEmissionColor, false));
    }
    private IEnumerator FadeMaterial(float startAlpha, float targetAlpha, Color startEmission, Color targetEmission, bool end)
    {
        float elapsedTime = 0f;
        Color startColor = animRend.material.color;
        Color targetColor = new Color(startColor.r, startColor.g, startColor.b, targetAlpha);

        while (elapsedTime < fadeDuration)
        {
            animRend.material.color = Color.Lerp(startColor, targetColor, elapsedTime / fadeDuration);

            Color lerpedEmissionColor = new Color(
                Mathf.Lerp(startEmission.r, targetEmission.r, elapsedTime / fadeDuration),
                Mathf.Lerp(startEmission.g, targetEmission.g, elapsedTime / fadeDuration),
                Mathf.Lerp(startEmission.b, targetEmission.b, elapsedTime / fadeDuration),
                Mathf.Lerp(startEmission.a, targetEmission.a, elapsedTime / fadeDuration)
            );

            propBlock.SetColor("_EmissionColor", lerpedEmissionColor);
            animRend.SetPropertyBlock(propBlock);

            //force an update of the material
            animRend.material.SetColor("_EmissionColor", lerpedEmissionColor);
            animRend.material.EnableKeyword("_EMISSION");

            elapsedTime += Time.deltaTime;
            yield return null;
        }

        //ensure the final alpha and emission are set to the target values
        animRend.material.color = targetColor;
        animRend.material.SetColor("_EmissionColor", targetEmission);

        animRend.material.SetColor("_EmissionColor", targetEmission);
        animRend.material.EnableKeyword("_EMISSION");
        animRend.SetPropertyBlock(null);


        if (end)
        {
            videoPlayer.Stop();
            RenderTexture.active = videoPlayer.targetTexture;
            GL.Clear(true, true, Color.clear);
            RenderTexture.active = null;
            this.transform.parent.gameObject.SetActive(false);
        }
    }