# Error Enforcing VP8 Codec on iOS/iPAD

**URL:** <https://openvidu.discourse.group/t/error-enforcing-vp8-codec-on-ios-ipad/2916>\
**Category:** Issues with deployment\
**Tags:** v2\
**Created:** [April 9, 2021, 10:31am UTC](https://openvidu.discourse.group/t/error-enforcing-vp8-codec-on-ios-ipad/2916 "2021-04-09T10:31:06Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Harsh\_wardhan](https://yyz2.discourse-cdn.com/free1/user_avatar/openvidu.discourse.group/harsh_wardhan/32/116_2.png) [@Harsh\_wardhan](https://openvidu.discourse.group/u/Harsh_wardhan)\
**Post date:** [April 9, 2021, 10:31am UTC](https://openvidu.discourse.group/t/error-enforcing-vp8-codec-on-ios-ipad/2916/1 "2021-04-09T10:31:06Z")

</div>

This occurs on low network conditions; We were testing it on Browserstack on iPad.  
Is this a known/expected issue ?  
 ![MicrosoftTeams-image (7)](https://global.discourse-cdn.com/free1/uploads/openvidu/original/2X/3/313e535f1e844620ce32c5fbbb8c1218fcf0b54d.png)

 ![image](https://global.discourse-cdn.com/free1/uploads/openvidu/original/2X/5/513bd61d734c866031e5947c29ab70ebc7397ad9.jpeg)

---

<div class="post-metadata">

**Author:** ![pabloFuente](https://yyz2.discourse-cdn.com/free1/user_avatar/openvidu.discourse.group/pablofuente/32/2536_2.png) [@pabloFuente](https://openvidu.discourse.group/u/pabloFuente)\
**Post date:** [April 9, 2021, 11:30am UTC](https://openvidu.discourse.group/t/error-enforcing-vp8-codec-on-ios-ipad/2916/2 "2021-04-09T11:30:35Z")

</div>

VP8 support was recently added to Safari in iOS. Before that, only H264 was supported. Probably your iPad doesn’t support it.

---

<div class="post-metadata">

**Author:** ![Harsh\_wardhan](https://yyz2.discourse-cdn.com/free1/user_avatar/openvidu.discourse.group/harsh_wardhan/32/116_2.png) [@Harsh\_wardhan](https://openvidu.discourse.group/u/Harsh_wardhan)\
**Post date:** [April 9, 2021, 11:34am UTC](https://openvidu.discourse.group/t/error-enforcing-vp8-codec-on-ios-ipad/2916/3 "2021-04-09T11:34:36Z")

</div>

Does enabling transcoding when starting a session going to help ? or I simply have to set the entire session on h264 ?  
@pabloFuente

---

<div class="post-metadata">

**Author:** ![cruizba](https://yyz2.discourse-cdn.com/free1/user_avatar/openvidu.discourse.group/cruizba/32/18_2.png) [@cruizba](https://openvidu.discourse.group/u/cruizba)\
**Post date:** [April 9, 2021, 7:54pm UTC](https://openvidu.discourse.group/t/error-enforcing-vp8-codec-on-ios-ipad/2916/4 "2021-04-09T19:54:50Z")

</div>

Hello @Harsh_wardhan, I would like to ask you: does this happens with the same IPad when is not in “low network conditions”?

Force coding in browsers decrease a lot CPU usage of Kurento Media Server. The reason we’ve decided to use VP8 by default is because its compatibility across browsers, but maybe it does not fit your use case in this specific scenario. You have different possibilities here, I will expose all the possible solutions so you can decide which one fits better for you:

1. **Allow transcoding**  
This will fix the issue but it will lead to high CPU usage when codecs from different browsers don’t match because Kurento needs to encode the publisher video to all the subscriber.

```auto
OPENVIDU_FORCED_CODEC=VP8
OPENVIDU_ALLOW_TRANSCODING=true

```

1. **Force to H264 and don’t allow transcoding**  
The unique problem you will have here are browsers which has not H264 available, which may fail:

```auto
OPENVIDU_FORCED_CODEC=H264
OPENVIDU_ALLOW_TRANSCODING=false

```

1. **Don’t force any codec and allow transcoding**

```auto
OPENVIDU_FORCED_CODEC=NONE
OPENVIDU_ALLOW_TRANSCODING=true

```

* * *

Note: If you want to configure these parameters at session level (different parameters for each session) you need to set them using OpenVidu API or Java/Node clients:

- In Java you can add this properties in `SessionProperties` object: [OpenVidu Docs](https://docs.openvidu.io/en/2.17.0/reference-docs/openvidu-java-client/#create-a-session)
- In Node you can add this properties in `properties` object: [OpenVidu Docs](https://docs.openvidu.io/en/2.17.0/reference-docs/openvidu-node-client/#create-a-session)
- Using the Rest API is pretty self explanatory 🙂 but you need to modify the parameters `forcedVideoCodec` and `allowTranscoding` of the POST request: [OpenVidu Docs](https://docs.openvidu.io/en/2.17.0/reference-docs/REST-API/#post-openviduapisessions)

* * *
