Skip to content

Chunked Upload System (Pro)

Vimeify Pro includes a chunked upload system for reliable uploads of large video files, even over unstable connections.

Pro Feature

Chunked uploads are included with Vimeify Pro. Get Pro →

What is Chunked Upload?

Chunked upload splits large files into small pieces (chunks) and uploads them one at a time. If the connection drops, the upload resumes from the last successful chunk instead of starting over.

How it works:

  1. File divided into chunks (typically 5-10MB each)
  2. Each chunk uploads sequentially
  3. If a chunk fails, only that chunk retries
  4. Vimeo assembles chunks into the complete video

Benefits

Reliable Uploads

Traditional uploads fail completely if the connection drops. Chunked uploads resume from where they stopped.

Large File Support

Each small chunk completes quickly, avoiding server timeouts that occur with large file uploads.

Better Progress Tracking

See precise progress with chunk-by-chunk updates, upload speed, and time remaining.

Mobile-Friendly

Resumes automatically when mobile connections drop or switch between WiFi and cellular.

Where Chunked Upload Works

Admin Uploads

Automatically enabled when uploading videos in Vimeify → Upload Video for files larger than 5MB.

Frontend Forms (Pro)

Works automatically in WPForms and Gravity Forms with the Vimeo upload field.

Learn more about Frontend Uploads →

Configuration

Chunk Size

Control the size of each chunk.

Default: 5MB

Recommended sizes:

  • 2MB - Very slow or unstable connections
  • 5MB - Most users (default)
  • 10MB - Fast, stable connections
  • 20MB - Local network uploads

Configure globally:

php
// In functions.php
add_filter( 'vimeify_chunk_size', function( $size ) {
    return 10 * 1024 * 1024; // 10MB
} );

Auto-Resume

Uploads automatically resume after interruption.

Default: Enabled

Disable auto-resume:

php
add_filter( 'vimeify_auto_resume_upload', '__return_false' );

Retry Attempts

Control how many times failed chunks retry.

Default: 3 retries per chunk

Increase retry attempts:

php
add_filter( 'vimeify_chunk_retry_attempts', function( $attempts ) {
    return 5; // Try each chunk 5 times
} );

Progress Display

Enable detailed progress information.

php
// Show chunk progress
add_filter( 'vimeify_show_chunk_progress', '__return_true' );

// Show upload speed
add_filter( 'vimeify_show_upload_speed', '__return_true' );

// Show time remaining
add_filter( 'vimeify_show_time_remaining', '__return_true' );

Troubleshooting

Upload Stalls

If upload stops at a specific chunk:

  1. Reduce chunk size to 2MB
  2. Check network stability
  3. Increase retry attempts
php
add_filter( 'vimeify_chunk_size', function() {
    return 2 * 1024 * 1024; // 2MB chunks
} );

add_filter( 'vimeify_chunk_retry_attempts', function() {
    return 10; // More retries
} );

Memory Errors

If you see "Out of memory" errors:

  1. Enable streaming upload
  2. Reduce chunk size
  3. Increase PHP memory limit
php
// In wp-config.php
define( 'WP_MEMORY_LIMIT', '512M' );

// In functions.php
add_filter( 'vimeify_use_streaming_upload', '__return_true' );

Resume Not Working

If uploads restart from the beginning instead of resuming:

  1. Check that sessions are enabled
  2. Verify browser cookies are allowed
  3. Check for plugin conflicts

Best Practices

Chunk Size Selection

  • Start with 5MB chunks (default)
  • Reduce to 2MB for unstable connections
  • Increase to 10MB for fast, reliable connections

User Experience

  • Always show progress indicator
  • Explain that processing continues after upload
  • Handle interruptions gracefully with auto-resume

Server Configuration

  • Set adequate PHP timeout (at least 60 seconds per chunk)
  • Ensure sufficient memory (256MB minimum)
  • Configure appropriate upload limits

Next Steps

Released under the GPL-2.0 License.