diff --git a/openvidu-test-browsers/pom.xml b/openvidu-test-browsers/pom.xml
index c29fb9b5..77e2d039 100644
--- a/openvidu-test-browsers/pom.xml
+++ b/openvidu-test-browsers/pom.xml
@@ -87,11 +87,20 @@
unirest-java
${version.unirest}
+
+ org.jcodec
+ jcodec-javase
+ ${version.jcodec}
+
+
+ io.openvidu
+ openvidu-java-client
+ ${version.openvidu.java.client}
+
junit
junit
${version.junit}
- test
diff --git a/openvidu-test-browsers/src/main/java/io/openvidu/test/browsers/utils/RecordingUtils.java b/openvidu-test-browsers/src/main/java/io/openvidu/test/browsers/utils/RecordingUtils.java
new file mode 100644
index 00000000..0a5e9971
--- /dev/null
+++ b/openvidu-test-browsers/src/main/java/io/openvidu/test/browsers/utils/RecordingUtils.java
@@ -0,0 +1,264 @@
+package io.openvidu.test.browsers.utils;
+
+import java.awt.Color;
+import java.awt.image.BufferedImage;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+import java.math.RoundingMode;
+import java.text.DecimalFormat;
+import java.util.Arrays;
+import java.util.Base64;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.function.Function;
+
+import javax.imageio.ImageIO;
+
+import org.jcodec.api.FrameGrab;
+import org.jcodec.api.JCodecException;
+import org.jcodec.common.model.Picture;
+import org.jcodec.scale.AWTUtil;
+import org.junit.Assert;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.google.gson.Gson;
+import com.google.gson.JsonArray;
+import com.google.gson.JsonObject;
+import com.google.gson.stream.JsonReader;
+
+import io.openvidu.java.client.Recording;
+
+public class RecordingUtils {
+
+ protected static final Logger log = LoggerFactory.getLogger(RecordingUtils.class);
+
+ public boolean recordedGreenFileFine(File file, Recording recording) throws IOException {
+ return this.recordedFileFine(file, recording, RecordingUtils::checkVideoAverageRgbGreen);
+ }
+
+ public boolean recordedRedFileFine(File file, Recording recording) throws IOException {
+ return this.recordedFileFine(file, recording, RecordingUtils::checkVideoAverageRgbRed);
+ }
+
+ private boolean recordedFileFine(File file, Recording recording,
+ Function