The following video tutorial explains all the different file formats in Encord.
Single Image | Image Group | Image Sequence | |
---|---|---|---|
’Write’ permissions required in cloud storage? | No | No | Yes |
Multiple images per task? | No | Yes | Yes |
Data Transformation during creation | No | No | Yes* |
* Data is resized during the creation of an image sequence when images of varying dimensions are combined into a single image sequence. For more information about this, See the section on image sequences.
Single Image | Image Group | Image Sequence | Video | Audio | Documents | Text | |
---|---|---|---|---|---|---|---|
Supported file formats | .jpeg .png .webp .avif .bmp .tiff * .tif * | .jpeg .png .webp .avif .bmp .tiff * .tif * | .jpeg .png .webp .avif .bmp | .mp4 .mov * .webm .mkv | mpeg x-wav flac | .pdf | .html , .json , .xml , .txt , and many more |
* TIFF and MOV files are only supported in Safari due to Chromium browser limitations. We recommend using Chrome for all other workflows. More info here.
Single images are individual images that are uploaded to Encord as separate files. Each single image constitutes its own data package, hence images will be listed individually.
We support the following file types for single images:
.jpeg
, .png
, .webp
, .avif
, .bmp
, .tiff
*, .tif
*
* Due to Chromium-based browser limitations, TIFF files can only be viewed in the label editor using the Safari browser.
Image groups are collections of images that are grouped together into a single data unit. They can contain images of varying orientations and no data is lost in the process of creating an image group.
For faster uploads, use image groups instead of image sequences. Image groups bundle multiple images into a single data unit, while image sequences convert images into a video, which requires more processing power and time.
We support the following file types for image groups:
.jpeg
, .png
, .webp
, .avif
, .bmp
, .tiff
*, .tif
*
Image sequences are collections of images that are grouped together into a single data unit, and annotated in the same way as videos. As a result, image sequences are able to make use of powerful machine learning features such as automated labeling.
Only images with the same dimensions can be combined into an image sequence. If your upload includes images with varying dimensions, a separate image sequence is created for each unique dimension.
For faster uploads, use image groups instead of image sequences. Image groups bundle multiple images into a single data unit, while image sequences convert images into a video, which requires more processing power and time.
We support the following file types for image sequences:
.jpeg
, .png
, .webp
, .avif
, .bmp
, .tiff
*, .tif
*
Image sequences can be created when importing files into Encord, or by batching images already sorted in Files into image sequences.
Only images with the same dimensions can be combined into an image sequence. If your upload includes images with varying dimensions, a separate image sequence is created for each unique dimension.
Video files can be uploaded or registered on the Encord platform and annotated frame by frame, allowing you to track elements throughout the video. While each frame is treated as an individual image during annotation, the video remains a single data package.
The following video formats, contains, and codecs are supported.
Video Formats and Containers | Supported Codecs |
---|---|
matroska, webm | vp8 |
matroska, webm | vp9 |
matroska, webm | libdav1d |
mov, mp4, m4a, 3gp, 3g2, mj2 | libdav1d |
mov, mp4, m4a, 3gp, 3g2, mj2 | h264 |
mov, mp4, m4a, 3gp, 3g2, mj2 | h265 (hevc) |
For optimized performance we recommend using the following video formats:
.mp4
with H.264
– We recommend using H.264 as the default codec, unless you have specific requirements that necessitate H.265. H.265 may present compatibility issues in some cases..mp4
with VP9
.File uploads must be less than 1 GB or 100,000 frames (1hr at 30FPS). See our guidelines for optimal performance for more details.
Videos can be re-sized using ffmpeg to fit the required specifications in the following ways:
Follow the steps below to reduce the video file size by adjusting the resolution, as well as the number of frames per second (fps).
The example above resizes normal-video-downsampled.mp4
to 30 fps
and a resolution of -1:1080px
. This means that the video height is set to 1080px
, while the -1
adjusts the width so that the aspect ratio remains the same as in the original.
The following example imports the video by generic key frame intervals using the global variable -g
(every 30 frames).
The following example imports the video by key frame intervals by specific codec -x264opts keyint=
(every 30 frames for codec H264).
To ensure accurate labels, only videos with a pixel aspect ratio of 1:1 should be used in Encord.
To check the pixel aspect ratio of your file, run the following ffprobe
command, where input-file.mp4
is the full file path to the file you want to output the pixel aspect ratio for. ffprobe
refers to pixel aspect ratio as ‘sample aspect ratio (SAR)’.
ffprobe
command will output ‘N/A’ is the file’s SAR is not defined in the video’s metadata.In machine learning, most infrastructures and codebases are tailored for image data rather than video. Therefore, when working with videos, a common prerequisite is to convert videos into a series of images. This process is essential for training ML models that do not directly support video inputs. We outline two approaches for extracting images from videos, each catering to different needs.
Approach 1: Extracting Every Frame as an Image
This method involves decompressing each frame of a video into separate image files. It’s straightforward and useful when you need to analyze or process every frame individually. Navigate to the directory your video is in and run the following command in your Terminal, replacing your_video.mp4
with the name of your video file, and /path/to/output/dir/frame
with the path to your output directory.
Approach 2: In-Memory Frame Iteration with Python
For scenarios where saving individual image files is unnecessary, you can iterate over video frames directly in memory using Python. This method is efficient for immediate processing or conversion to formats like TFRecords.
pyav
Python library is installed. Encord provides native support for Digital Imaging and Communications in Medicine (DICOM) & Neuroimaging Informatics Technology Initiative (NIfTI) browser rendering and data annotations.
Our Ontologies allow you to create any type of labeling protocol - for example RECIST, which requires measuring the longest diameter of a lesion.
With the DICOM editor, you can:
We support multi-frame DICOMs, making it even easier and faster to load data onto our platform! Multi-frame DICOM support can save time and streamline workflows due to a reduced amount of header data repetition.
Simply upload your multi-frame DICOM files like you would any other files - either via the user interface, or using our python SDK.
Caching allows frequently accessed DICOM files to be stored securely in your local browser memory, allowing them to be retrieved quickly and efficiently. As a result you can expect faster load times when accessing medical imaging data.
This is particularly beneficial for busy healthcare professionals who require quick access to patient records and diagnostic imaging.
Re-encoding your videos means bringing them in line with browser requirements to avoid frame synchronization issues and ensure accurate labels.
Your video needs re-encoding if you see a red warning icon after successfully uploading your video. Hover over the icon to read what issues we have found with the video.
Automatically fix detected issue re-encoding serves common frame synchronization issues and ensures there is no quality loss during re-encoding. If for example the only issue is that audio is present in the video, auto re-encoding only removes the audio while keeping the video as-is. A notification at the top of your screen appears when re-encoding is complete.
You can perform this action from Files and Datasets:
Files
Datasets
Force full re-encoding converts the video to a specific frame rate and video codec regardless of why frame synchronization issues are occurring. A full re-encoding takes longer and can lead to issues with existing labels.
You can perform this action from Files and Datasets:
Files
Datasets
Some cases, such as corrupted metadata, might require you to re-encode your data locally before uploading them to the Encord platform.
Use the following ffmpeg
command, replacing video.mp4
with the name of the file you want to re-encode, and re-encoded-video.mp4
with the name you want the re-encoded file to have:
Videos in Encord must have a CONSTANT frame rate. We have added the -r flag with a value of 30 for 30 frames per second. Please verify with your video & use the correct frame rate. We recommend using the average frame rate of your video to set the constant rate (rounded to the nearest whole number).
You can figure out the average frame rate of your video with this command:
You may need to install ffprobe
& bc
Here is a summary of the various flags:
-err_detect aggressive
: Improves error detection during decoding.-fflags discardcorrupt
: Discards corrupted packets to maintain integrity.-r 30
: This sets the frame rate to a constant 30 frames per second (FPS). Feel free to adjust 30
to your desired frame rate.-c:v libx264
: Specifies the H.264
codec for video re-encoding.-movflags faststart
: Optimizes for web playback by moving moov metadata to the beginning of the file.-tune zerolatency
: Configures for low-latency encoding scenarios.To maintain precise label alignment, our servers use FFmpeg to extract video frames individually. This frame-by-frame extraction assigns each label to a specific frame index, ensuring accurate mapping of labels within the video. When a video is embedded in the browser, frame display is managed by the browser itself, and may not consistently match the video’s frame rate.
If we detect any of the following frame synchronization issues after uploading a video your video must be re-encoded.
Audio frames
A video has “audio frames” whenever the video has any audio with it. We have observed unexpected behaviour where the browser video player would sometimes increase the display length of specific frames when audio frames were present. As we can only seek frames by timestamps in the browser, whenever we detect audio frames we recommend to remove those.
Detecting the problem:
If there is no output, there are no audio frames. If you see some output, there are some audio frames.
Fixing the problem:
Re-encode the video in the Encord platform. This will copy all the video frames but will drop all the audio frames.
Ghost frames
The issue known as “ghost frames” arises when video frames have negative timestamps. This can happen when videos are cut at the beginning, but a keyframe with a negative timestamp is retained.
Various video players may display a varying number of frames with negative timestamps, ranging from 0 to all. Unfortunately, we have no control over the browser’s video player, so we cannot predict how many negative keyframes it will display.
To ensure accurate labeling, we must avoid labeling any frames with negative timestamps. Therefore, we kindly request that you re-encode the video to remove any negative timestamps. This process will resolve the “ghost frames” issue and ensure smooth annotation.
Detecting the problem:
This will show the video packets of the first 3 seconds in a JSON format. You will see an output such as
If in any of the packets you have a negative value for pts
, you know that there might be some ghost frames.
Fixing the problem:
Re-encode the video in the Encord platform. These are the transformations we apply when we detect ghost frames:
.mp4
files.Variable frame rates
Some videos have variable frame rates. This could come for example from a dashcam which tries to write frames as fast as it can.
Detecting the problem:
pts
is variableFixing the problem:
Re-encode the video in the Encord platform. These are the transformations we apply when we detect a variable frame rate:
A constant frame rate is applied to the video. This requires some dropping and duplicating of frames and is handled by the -vsync cfr
FFmpeg flag.
All the transformations that are applied to videos with ghost frames.
You may also see a frame synchronization warning in the Label Editor when trying to open the video task:
For a more detailed check, you can use ffprobe (part of the FFmpeg suite) to inspect your video’s properties. Download FFmpeg here.
In certain scenarios, you may have pre-existing labels that you want to upload to our platform. If we advise you to re-encode the video, there is a possibility that your new labels might become misplaced. This situation can arise if:
If you upload labels and need to re-encode your video, we strongly encourage you to double-check the accuracy of your pre-existing labels after re-encoding the video.
If you believe that your labels are misaligned, please do reach out to the Encord team, so we can help you with the uploading process.
A number of factors determine how fast remote content is rendered and displayed in a web browser:
While these factors are outside of Encord’s influence, we have put together a set of common issues when loading data from private cloud, along with possible solutions to improve your user experience.
The physical distance between you and the server hosting your data will affect how quickly content can be accessed. If, for example, an Amazon S3 bucket is hosted in the ‘EU (London) eu-west-2’ region, then users from India, or Brazil might experience latency issues due to data having to travel a long way.
The solution is to make sure that users always connect to their closest server, reducing the time it takes for data to travel from one place to another - however, setting this up differs between different cloud storage providers.
Amazon S3
Caching has to be enabled on the parent folder containing the objects you want to label. This is done by setting a cache-control header. Failing to set a cache-control header on all objects can lead to data loading slowly on our platform.
AWS allows you to set up Multi-Region Access Points that provide a single global end point to access a replicated dataset spanning multiple S3 buckets. This means that users all around the world are always connected to their closest server when accessing content from an S3 bucket.
To make this work in Encord, follow the steps below:
Set up Multi-Region Access Point on Amazon S3. Their step-by-step guide can be found here.
Integrate your Multi-Region Access Point with Encord. The process is documented here.
Add data using the Multi-Region Access Point integration. When specifying which files to register in your JSON file, make sure to use the ARN of the Multi-Region Access Point followed by the object name, instead of the object URL, as documented here.
GCP
You can check your latency to Google Cloud regions here, and the latency between different regions here to assess the connection speed to your GCP bucket.
We recommend you use the ‘Premium’ network service tier if you experience buffering issues while using data stored on GCP. This will ensure a high-performing network experience with a global footprint.
Test your internet connection to make sure it is fast enough to download your video from cloud storage without buffering. Consistently low internet speeds might mean your provider isn’t providing you with high enough internet speeds to load large quantities of data from your cloud storage.
You can see the speed at which a video is being downloaded at the bottom of the ‘editor pane’ in the ‘label editor’ on Encord’s platform. It also displays the download speed required to display a video without buffering.
VPNs can slow down your connection by requiring the data travel through the VPN’s server before arriving to you.
We recommend you turn off your VPN when using Encord’s platform if you are experiencing buffering issues.
Video content itself varies widely in terms of frames rate, compression, definition and size. The most important factor when determining how quickly a remote video will load in the browser is the bitrate. The higher the bitrate, the more data will need to be loaded per second of video.
To make sure videos load and display quickly in the Label Editor:
Lowering a video’s bitrate will reduce the time it takes to load from your cloud storage. This can be achieved using tools such as FFmpeg. Please see our section on resizing videos for information on how this can be achieved.
We recommend the Google Chrome or Brave web-browsers when using Encord.
Additionally, we recommend disabling hardware acceleration in Chrome. Hardware acceleration can introduce another layer of uncertainty to video rendering in the browser, potentially leading to unexpected behavior. By disabling it, you can ensure a more stable and consistent experience when working with videos on our platform.
HEVC (High Efficiency Video Coding), also known as H265, requires at least the following hardware specs for a good experience:
The following video tutorial explains all the different file formats in Encord.
Single Image | Image Group | Image Sequence | |
---|---|---|---|
’Write’ permissions required in cloud storage? | No | No | Yes |
Multiple images per task? | No | Yes | Yes |
Data Transformation during creation | No | No | Yes* |
* Data is resized during the creation of an image sequence when images of varying dimensions are combined into a single image sequence. For more information about this, See the section on image sequences.
Single Image | Image Group | Image Sequence | Video | Audio | Documents | Text | |
---|---|---|---|---|---|---|---|
Supported file formats | .jpeg .png .webp .avif .bmp .tiff * .tif * | .jpeg .png .webp .avif .bmp .tiff * .tif * | .jpeg .png .webp .avif .bmp | .mp4 .mov * .webm .mkv | mpeg x-wav flac | .pdf | .html , .json , .xml , .txt , and many more |
* TIFF and MOV files are only supported in Safari due to Chromium browser limitations. We recommend using Chrome for all other workflows. More info here.
Single images are individual images that are uploaded to Encord as separate files. Each single image constitutes its own data package, hence images will be listed individually.
We support the following file types for single images:
.jpeg
, .png
, .webp
, .avif
, .bmp
, .tiff
*, .tif
*
* Due to Chromium-based browser limitations, TIFF files can only be viewed in the label editor using the Safari browser.
Image groups are collections of images that are grouped together into a single data unit. They can contain images of varying orientations and no data is lost in the process of creating an image group.
For faster uploads, use image groups instead of image sequences. Image groups bundle multiple images into a single data unit, while image sequences convert images into a video, which requires more processing power and time.
We support the following file types for image groups:
.jpeg
, .png
, .webp
, .avif
, .bmp
, .tiff
*, .tif
*
Image sequences are collections of images that are grouped together into a single data unit, and annotated in the same way as videos. As a result, image sequences are able to make use of powerful machine learning features such as automated labeling.
Only images with the same dimensions can be combined into an image sequence. If your upload includes images with varying dimensions, a separate image sequence is created for each unique dimension.
For faster uploads, use image groups instead of image sequences. Image groups bundle multiple images into a single data unit, while image sequences convert images into a video, which requires more processing power and time.
We support the following file types for image sequences:
.jpeg
, .png
, .webp
, .avif
, .bmp
, .tiff
*, .tif
*
Image sequences can be created when importing files into Encord, or by batching images already sorted in Files into image sequences.
Only images with the same dimensions can be combined into an image sequence. If your upload includes images with varying dimensions, a separate image sequence is created for each unique dimension.
Video files can be uploaded or registered on the Encord platform and annotated frame by frame, allowing you to track elements throughout the video. While each frame is treated as an individual image during annotation, the video remains a single data package.
The following video formats, contains, and codecs are supported.
Video Formats and Containers | Supported Codecs |
---|---|
matroska, webm | vp8 |
matroska, webm | vp9 |
matroska, webm | libdav1d |
mov, mp4, m4a, 3gp, 3g2, mj2 | libdav1d |
mov, mp4, m4a, 3gp, 3g2, mj2 | h264 |
mov, mp4, m4a, 3gp, 3g2, mj2 | h265 (hevc) |
For optimized performance we recommend using the following video formats:
.mp4
with H.264
– We recommend using H.264 as the default codec, unless you have specific requirements that necessitate H.265. H.265 may present compatibility issues in some cases..mp4
with VP9
.File uploads must be less than 1 GB or 100,000 frames (1hr at 30FPS). See our guidelines for optimal performance for more details.
Videos can be re-sized using ffmpeg to fit the required specifications in the following ways:
Follow the steps below to reduce the video file size by adjusting the resolution, as well as the number of frames per second (fps).
The example above resizes normal-video-downsampled.mp4
to 30 fps
and a resolution of -1:1080px
. This means that the video height is set to 1080px
, while the -1
adjusts the width so that the aspect ratio remains the same as in the original.
The following example imports the video by generic key frame intervals using the global variable -g
(every 30 frames).
The following example imports the video by key frame intervals by specific codec -x264opts keyint=
(every 30 frames for codec H264).
To ensure accurate labels, only videos with a pixel aspect ratio of 1:1 should be used in Encord.
To check the pixel aspect ratio of your file, run the following ffprobe
command, where input-file.mp4
is the full file path to the file you want to output the pixel aspect ratio for. ffprobe
refers to pixel aspect ratio as ‘sample aspect ratio (SAR)’.
ffprobe
command will output ‘N/A’ is the file’s SAR is not defined in the video’s metadata.In machine learning, most infrastructures and codebases are tailored for image data rather than video. Therefore, when working with videos, a common prerequisite is to convert videos into a series of images. This process is essential for training ML models that do not directly support video inputs. We outline two approaches for extracting images from videos, each catering to different needs.
Approach 1: Extracting Every Frame as an Image
This method involves decompressing each frame of a video into separate image files. It’s straightforward and useful when you need to analyze or process every frame individually. Navigate to the directory your video is in and run the following command in your Terminal, replacing your_video.mp4
with the name of your video file, and /path/to/output/dir/frame
with the path to your output directory.
Approach 2: In-Memory Frame Iteration with Python
For scenarios where saving individual image files is unnecessary, you can iterate over video frames directly in memory using Python. This method is efficient for immediate processing or conversion to formats like TFRecords.
pyav
Python library is installed. Encord provides native support for Digital Imaging and Communications in Medicine (DICOM) & Neuroimaging Informatics Technology Initiative (NIfTI) browser rendering and data annotations.
Our Ontologies allow you to create any type of labeling protocol - for example RECIST, which requires measuring the longest diameter of a lesion.
With the DICOM editor, you can:
We support multi-frame DICOMs, making it even easier and faster to load data onto our platform! Multi-frame DICOM support can save time and streamline workflows due to a reduced amount of header data repetition.
Simply upload your multi-frame DICOM files like you would any other files - either via the user interface, or using our python SDK.
Caching allows frequently accessed DICOM files to be stored securely in your local browser memory, allowing them to be retrieved quickly and efficiently. As a result you can expect faster load times when accessing medical imaging data.
This is particularly beneficial for busy healthcare professionals who require quick access to patient records and diagnostic imaging.
Re-encoding your videos means bringing them in line with browser requirements to avoid frame synchronization issues and ensure accurate labels.
Your video needs re-encoding if you see a red warning icon after successfully uploading your video. Hover over the icon to read what issues we have found with the video.
Automatically fix detected issue re-encoding serves common frame synchronization issues and ensures there is no quality loss during re-encoding. If for example the only issue is that audio is present in the video, auto re-encoding only removes the audio while keeping the video as-is. A notification at the top of your screen appears when re-encoding is complete.
You can perform this action from Files and Datasets:
Files
Datasets
Force full re-encoding converts the video to a specific frame rate and video codec regardless of why frame synchronization issues are occurring. A full re-encoding takes longer and can lead to issues with existing labels.
You can perform this action from Files and Datasets:
Files
Datasets
Some cases, such as corrupted metadata, might require you to re-encode your data locally before uploading them to the Encord platform.
Use the following ffmpeg
command, replacing video.mp4
with the name of the file you want to re-encode, and re-encoded-video.mp4
with the name you want the re-encoded file to have:
Videos in Encord must have a CONSTANT frame rate. We have added the -r flag with a value of 30 for 30 frames per second. Please verify with your video & use the correct frame rate. We recommend using the average frame rate of your video to set the constant rate (rounded to the nearest whole number).
You can figure out the average frame rate of your video with this command:
You may need to install ffprobe
& bc
Here is a summary of the various flags:
-err_detect aggressive
: Improves error detection during decoding.-fflags discardcorrupt
: Discards corrupted packets to maintain integrity.-r 30
: This sets the frame rate to a constant 30 frames per second (FPS). Feel free to adjust 30
to your desired frame rate.-c:v libx264
: Specifies the H.264
codec for video re-encoding.-movflags faststart
: Optimizes for web playback by moving moov metadata to the beginning of the file.-tune zerolatency
: Configures for low-latency encoding scenarios.To maintain precise label alignment, our servers use FFmpeg to extract video frames individually. This frame-by-frame extraction assigns each label to a specific frame index, ensuring accurate mapping of labels within the video. When a video is embedded in the browser, frame display is managed by the browser itself, and may not consistently match the video’s frame rate.
If we detect any of the following frame synchronization issues after uploading a video your video must be re-encoded.
Audio frames
A video has “audio frames” whenever the video has any audio with it. We have observed unexpected behaviour where the browser video player would sometimes increase the display length of specific frames when audio frames were present. As we can only seek frames by timestamps in the browser, whenever we detect audio frames we recommend to remove those.
Detecting the problem:
If there is no output, there are no audio frames. If you see some output, there are some audio frames.
Fixing the problem:
Re-encode the video in the Encord platform. This will copy all the video frames but will drop all the audio frames.
Ghost frames
The issue known as “ghost frames” arises when video frames have negative timestamps. This can happen when videos are cut at the beginning, but a keyframe with a negative timestamp is retained.
Various video players may display a varying number of frames with negative timestamps, ranging from 0 to all. Unfortunately, we have no control over the browser’s video player, so we cannot predict how many negative keyframes it will display.
To ensure accurate labeling, we must avoid labeling any frames with negative timestamps. Therefore, we kindly request that you re-encode the video to remove any negative timestamps. This process will resolve the “ghost frames” issue and ensure smooth annotation.
Detecting the problem:
This will show the video packets of the first 3 seconds in a JSON format. You will see an output such as
If in any of the packets you have a negative value for pts
, you know that there might be some ghost frames.
Fixing the problem:
Re-encode the video in the Encord platform. These are the transformations we apply when we detect ghost frames:
.mp4
files.Variable frame rates
Some videos have variable frame rates. This could come for example from a dashcam which tries to write frames as fast as it can.
Detecting the problem:
pts
is variableFixing the problem:
Re-encode the video in the Encord platform. These are the transformations we apply when we detect a variable frame rate:
A constant frame rate is applied to the video. This requires some dropping and duplicating of frames and is handled by the -vsync cfr
FFmpeg flag.
All the transformations that are applied to videos with ghost frames.
You may also see a frame synchronization warning in the Label Editor when trying to open the video task:
For a more detailed check, you can use ffprobe (part of the FFmpeg suite) to inspect your video’s properties. Download FFmpeg here.
In certain scenarios, you may have pre-existing labels that you want to upload to our platform. If we advise you to re-encode the video, there is a possibility that your new labels might become misplaced. This situation can arise if:
If you upload labels and need to re-encode your video, we strongly encourage you to double-check the accuracy of your pre-existing labels after re-encoding the video.
If you believe that your labels are misaligned, please do reach out to the Encord team, so we can help you with the uploading process.
A number of factors determine how fast remote content is rendered and displayed in a web browser:
While these factors are outside of Encord’s influence, we have put together a set of common issues when loading data from private cloud, along with possible solutions to improve your user experience.
The physical distance between you and the server hosting your data will affect how quickly content can be accessed. If, for example, an Amazon S3 bucket is hosted in the ‘EU (London) eu-west-2’ region, then users from India, or Brazil might experience latency issues due to data having to travel a long way.
The solution is to make sure that users always connect to their closest server, reducing the time it takes for data to travel from one place to another - however, setting this up differs between different cloud storage providers.
Amazon S3
Caching has to be enabled on the parent folder containing the objects you want to label. This is done by setting a cache-control header. Failing to set a cache-control header on all objects can lead to data loading slowly on our platform.
AWS allows you to set up Multi-Region Access Points that provide a single global end point to access a replicated dataset spanning multiple S3 buckets. This means that users all around the world are always connected to their closest server when accessing content from an S3 bucket.
To make this work in Encord, follow the steps below:
Set up Multi-Region Access Point on Amazon S3. Their step-by-step guide can be found here.
Integrate your Multi-Region Access Point with Encord. The process is documented here.
Add data using the Multi-Region Access Point integration. When specifying which files to register in your JSON file, make sure to use the ARN of the Multi-Region Access Point followed by the object name, instead of the object URL, as documented here.
GCP
You can check your latency to Google Cloud regions here, and the latency between different regions here to assess the connection speed to your GCP bucket.
We recommend you use the ‘Premium’ network service tier if you experience buffering issues while using data stored on GCP. This will ensure a high-performing network experience with a global footprint.
Test your internet connection to make sure it is fast enough to download your video from cloud storage without buffering. Consistently low internet speeds might mean your provider isn’t providing you with high enough internet speeds to load large quantities of data from your cloud storage.
You can see the speed at which a video is being downloaded at the bottom of the ‘editor pane’ in the ‘label editor’ on Encord’s platform. It also displays the download speed required to display a video without buffering.
VPNs can slow down your connection by requiring the data travel through the VPN’s server before arriving to you.
We recommend you turn off your VPN when using Encord’s platform if you are experiencing buffering issues.
Video content itself varies widely in terms of frames rate, compression, definition and size. The most important factor when determining how quickly a remote video will load in the browser is the bitrate. The higher the bitrate, the more data will need to be loaded per second of video.
To make sure videos load and display quickly in the Label Editor:
Lowering a video’s bitrate will reduce the time it takes to load from your cloud storage. This can be achieved using tools such as FFmpeg. Please see our section on resizing videos for information on how this can be achieved.
We recommend the Google Chrome or Brave web-browsers when using Encord.
Additionally, we recommend disabling hardware acceleration in Chrome. Hardware acceleration can introduce another layer of uncertainty to video rendering in the browser, potentially leading to unexpected behavior. By disabling it, you can ensure a more stable and consistent experience when working with videos on our platform.
HEVC (High Efficiency Video Coding), also known as H265, requires at least the following hardware specs for a good experience: