Configure video codec

I have setup a Jitsi server using this tutorial: Tip 284 - Creating a private video conferencing service with Jitsi on a Microsoft Azure VM | Azure Tips and Tricks

Everything seems to work, but I would like to change the used codec to H264. I found this setting: jitsi-meet/config.js at master · jitsi/jitsi-meet · GitHub

But if I change this to H264, it don’t seem to use H264. It says that codec used is vp8. What I’m doing wrong here? I have disabled p2p so this single setting (preferredCodec) should work, right?

@Petelius Welcome to the community!

Look in your /etc/jitsi/jicofo/jicofo.conf

...
codec 
  {
    video 
    {
      h264 
      {
        enabled = true
        pt = 107
        rtx-pt = 99
        enable-remb = true
      }
    }
  }
...
1 Like

If you want to always force H.264, you would need to disable VP8 and VP9 in jicofo.conf. preferredCodec is just a preference, the browsers are free to negotiate any of the supported codecs.

Note that there’s no simulcast support with H.264 so it’s not really suitable for conferences of >2 people.

I tried to add these to jicofo.conf. But after I restarted the server and tried to verify the current codec in Chrome console, using command:

jitsiConferenceObject.getParticipants()[0].getProperty("codecType")

But I still get “vp8” as response. So the config isn’t working? I also disabled the vp8 in jicofo.conf.

Here is the jicofo.conf codec configuration I’m using now:

  codec {
    video {
      vp8 {
        enabled = false
        pt = 100
        rtx-pt = 96
        enable-remb = true
      }
      vp9 {
        enabled = true
        pt = 101
        rtx-pt = 97
        enable-remb = true
      }
      h264 {
        enabled = false
        pt = 107
        rtx-pt =99
        enable-remb = true
      }
    }
  }

You have h264 disabled in the above configuration. Set enabled to true.

Also in your config.js, try using these as seen in this section

videoQuality: {
    disabledCodec: ' ',
    preferredCodec: 'H264',
    enforcePreferredCodec: true,
},
...

Finally test with 3 people since there are different settings for p2p connections.

Got it to work as expected now, thanks!