Video can not be produced in latest safari 14 update on Mac and iOS

When I stream video and try to play it in safari on MacOS or iOS, the video won’t play. If I check the capability of the browser via canProduce function it returns false.

Also, when I try to run mediasoup demo in the latest update, it also does not work.
Can something be done for this?

It can depend on H264 profiles specified in configuration and what browser advertises.
The example config for mediasoup-demo should work fine though, so this is interesting. The best thing would be to check RTP capabilities that browser determined and compare it with mediasoup-demo’s config. If you can post RTP capabilities here it would be useful.

I digg more into this, and I saw an option in experimental features in safari to enable WebRTC VP9 codec. I checked that, restarted safari and then video started working. Although, it is experimental feature as of now so I would give preference to h264 video codec.

Here is RTP capabilities configured on my server. -

{
  "codecs": [
    {
      "kind": "video",
      "mimeType": "video/VP9",
      "clockRate": 90000,
      "rtcpFeedback": [
        {
          "type": "nack",
          "parameter": ""
        },
        {
          "type": "nack",
          "parameter": "pli"
        },
        {
          "type": "ccm",
          "parameter": "fir"
        },
        {
          "type": "goog-remb",
          "parameter": ""
        },
        {
          "type": "transport-cc",
          "parameter": ""
        }
      ],
      "parameters": {},
      "preferredPayloadType": 100
    },
    {
      "kind": "video",
      "mimeType": "video/rtx",
      "preferredPayloadType": 101,
      "clockRate": 90000,
      "parameters": {
        "apt": 100
      },
      "rtcpFeedback": []
    },
    {
      "kind": "audio",
      "mimeType": "audio/opus",
      "clockRate": 48000,
      "channels": 2,
      "rtcpFeedback": [
        {
          "type": "transport-cc",
          "parameter": ""
        }
      ],
      "parameters": {},
      "preferredPayloadType": 102
    }
  ],
  "headerExtensions": [
    {
      "kind": "audio",
      "uri": "urn:ietf:params:rtp-hdrext:sdes:mid",
      "preferredId": 1,
      "preferredEncrypt": false,
      "direction": "sendrecv"
    },
    {
      "kind": "video",
      "uri": "urn:ietf:params:rtp-hdrext:sdes:mid",
      "preferredId": 1,
      "preferredEncrypt": false,
      "direction": "sendrecv"
    },
    {
      "kind": "video",
      "uri": "urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id",
      "preferredId": 2,
      "preferredEncrypt": false,
      "direction": "recvonly"
    },
    {
      "kind": "video",
      "uri": "urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id",
      "preferredId": 3,
      "preferredEncrypt": false,
      "direction": "recvonly"
    },
    {
      "kind": "audio",
      "uri": "http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time",
      "preferredId": 4,
      "preferredEncrypt": false,
      "direction": "sendrecv"
    },
    {
      "kind": "video",
      "uri": "http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time",
      "preferredId": 4,
      "preferredEncrypt": false,
      "direction": "sendrecv"
    },
    {
      "kind": "audio",
      "uri": "http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01",
      "preferredId": 5,
      "preferredEncrypt": false,
      "direction": "recvonly"
    },
    {
      "kind": "video",
      "uri": "http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01",
      "preferredId": 5,
      "preferredEncrypt": false,
      "direction": "sendrecv"
    },
    {
      "kind": "video",
      "uri": "http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07",
      "preferredId": 6,
      "preferredEncrypt": false,
      "direction": "sendrecv"
    },
    {
      "kind": "video",
      "uri": "urn:ietf:params:rtp-hdrext:framemarking",
      "preferredId": 7,
      "preferredEncrypt": false,
      "direction": "sendrecv"
    },
    {
      "kind": "audio",
      "uri": "urn:ietf:params:rtp-hdrext:ssrc-audio-level",
      "preferredId": 10,
      "preferredEncrypt": false,
      "direction": "sendrecv"
    },
    {
      "kind": "video",
      "uri": "urn:3gpp:video-orientation",
      "preferredId": 11,
      "preferredEncrypt": false,
      "direction": "sendrecv"
    },
    {
      "kind": "video",
      "uri": "urn:ietf:params:rtp-hdrext:toffset",
      "preferredId": 12,
      "preferredEncrypt": false,
      "direction": "sendrecv"
    }
  ]
}