@java.lang.Override
    public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
            return true;
        }
        if (!(obj instanceof EncodingOptions other)) {
            return super.equals(obj);
        }

        if (getWidth() != other.getWidth()) {
            return false;
        }
        if (getHeight() != other.getHeight()) {
            return false;
        }
        if (getDepth() != other.getDepth()) {
            return false;
        }
        if (getFramerate() != other.getFramerate()) {
            return false;
        }
        if (audioCodec_ != other.audioCodec_) {
            return false;
        }
        if (getAudioBitrate() != other.getAudioBitrate()) {
            return false;
        }
        if (getAudioQuality() != other.getAudioQuality()) {
            return false;
        }
        if (getAudioFrequency() != other.getAudioFrequency()) {
            return false;
        }
        if (videoCodec_ != other.videoCodec_) {
            return false;
        }
        if (getVideoBitrate() != other.getVideoBitrate()) {
            return false;
        }
        if (getVideoQuality() != other.getVideoQuality()) {
            return false;
        }
        if (java.lang.Double.doubleToLongBits(getKeyFrameInterval()) != java.lang.Double
                .doubleToLongBits(other.getKeyFrameInterval())) {
            return false;
        }
        return getUnknownFields().equals(other.getUnknownFields());
    }
<pre>
in seconds (default 4s for streaming, segment duration for segmented output, encoder default for files)
</pre>

<code>double key_frame_interval = 10;</code>

@return The keyFrameInterval.
turms-plugins/turms-plugin-livekit/src/main/java/im/turms/plugin/livekit/core/proto/egress/EncodingOptions.java