@java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
        if (width_ != 0) {
            output.writeInt32(1, width_);
        }
        if (height_ != 0) {
            output.writeInt32(2, height_);
        }
        if (depth_ != 0) {
            output.writeInt32(3, depth_);
        }
        if (framerate_ != 0) {
            output.writeInt32(4, framerate_);
        }
        if (audioCodec_ != im.turms.plugin.livekit.core.proto.models.AudioCodec.DEFAULT_AC
                .getNumber()) {
            output.writeEnum(5, audioCodec_);
        }
        if (audioBitrate_ != 0) {
            output.writeInt32(6, audioBitrate_);
        }
        if (audioFrequency_ != 0) {
            output.writeInt32(7, audioFrequency_);
        }
        if (videoCodec_ != im.turms.plugin.livekit.core.proto.models.VideoCodec.DEFAULT_VC
                .getNumber()) {
            output.writeEnum(8, videoCodec_);
        }
        if (videoBitrate_ != 0) {
            output.writeInt32(9, videoBitrate_);
        }
        if (java.lang.Double.doubleToRawLongBits(keyFrameInterval_) != 0) {
            output.writeDouble(10, keyFrameInterval_);
        }
        if (audioQuality_ != 0) {
            output.writeInt32(11, audioQuality_);
        }
        if (videoQuality_ != 0) {
            output.writeInt32(12, videoQuality_);
        }
        getUnknownFields().writeTo(output);
    }
<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