Universal Cloud Video Converter avatar
Universal Cloud Video Converter

Pricing

from $5.00 / 1,000 results

Go to Apify Store
Universal Cloud Video Converter

Universal Cloud Video Converter

Convert videos from any source to modern formats and HLS, with seamless cloud-to-cloud delivery

Pricing

from $5.00 / 1,000 results

Rating

0.0

(0)

Developer

codingfrontend

codingfrontend

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 days ago

Last modified

Share

Video Converter - Apify Actor

A powerful video conversion Actor that transforms videos between formats using FFmpeg. Supports multiple input sources, output destinations, and advanced video processing features.

Features

Input Sources

  • URL: Direct video URLs with authentication support (Bearer, Basic, Custom Header)
  • Google Drive: Download videos from Google Drive using file ID and service account
  • Dropbox: Download videos from Dropbox shared links
  • Cloud Storage: AWS S3, Google Cloud Storage
  • Apify Storage: Load videos from Apify Key-Value Store

Output Formats

  • Video: MP4, MOV, WEBM, MKV, AVI
  • Animation: GIF
  • Streaming: HLS (HTTP Live Streaming) - Default

Video Codecs

  • H.264/AVC - Most compatible
  • H.265/HEVC - Better compression
  • VP8/VP9 - WebM/Open format
  • AV1 - Newest, best compression

Audio Codecs

  • AAC - Most compatible
  • MP3 - Universal support
  • Opus - Best quality/compression
  • Vorbis - Open format

Output Destinations

  • Apify Key-Value Store - Default, provides public URL
  • AWS S3 - Amazon Simple Storage Service
  • Google Cloud Storage (GCS) - Google's object storage
  • Dropbox - Upload to Dropbox account

Advanced Features

  • Track Extractor - Split video into separate video, audio, and subtitle files
  • Video trimming/cutting
  • Watermarks (text and image)
  • Audio controls (volume, mute, replace audio)
  • Thumbnail generation
  • GIF preview generation
  • Webhooks (URL only or with file attachment)

Input Examples

Basic URL Input

{
"inputType": "url",
"videoUrl": "https://example.com/video.mp4",
"outputFormat": "mp4",
"videoCodec": "h264",
"audioCodec": "aac",
"quality": "medium",
"outputDestination": "apify"
}

URL with Bearer Token Authentication

{
"inputType": "url",
"videoUrl": "https://api.example.com/protected/video.mp4",
"urlAuthType": "bearer",
"urlAuthBearerToken": "your-api-token",
"outputFormat": "mp4"
}

URL with Basic Auth

{
"inputType": "url",
"videoUrl": "https://secure.example.com/video.mp4",
"urlAuthType": "basic",
"urlAuthUsername": "user",
"urlAuthPassword": "pass",
"outputFormat": "webm"
}

URL with Custom Header Auth

{
"inputType": "url",
"videoUrl": "https://api.example.com/video.mp4",
"urlAuthType": "header",
"urlAuthHeaderName": "X-API-Key",
"urlAuthHeaderValue": "your-api-key",
"outputFormat": "mp4"
}

Google Drive Input

{
"inputType": "googleDrive",
"googleDriveFileId": "1abc123def456",
"googleDriveCredentials": {
"private_key": "-----BEGIN PRIVATE KEY-----...",
"client_email": "service@project.iam.gserviceaccount.com"
},
"outputFormat": "mp4"
}

Dropbox Input

{
"inputType": "dropbox",
"dropboxFileUrl": "https://www.dropbox.com/s/abc123/video.mp4?dl=0",
"dropboxAccessToken": "your-dropbox-token",
"outputFormat": "webm"
}

HLS Output (Default)

{
"inputType": "url",
"videoUrl": "https://example.com/video.mp4",
"outputFormat": "hls",
"videoCodec": "h264",
"audioCodec": "aac"
}

Output Destination Examples

AWS S3 Upload

{
"outputDestination": "s3",
"s3Bucket": "my-video-bucket",
"s3Region": "us-east-1",
"s3AccessKeyId": "AKIA...",
"s3SecretAccessKey": "...",
"s3Path": "converted/video.mp4"
}

Google Cloud Storage Upload

{
"outputDestination": "gcs",
"gcsBucket": "my-gcs-bucket",
"gcsCredentials": {
"type": "service_account",
"project_id": "your-project",
"private_key": "-----BEGIN PRIVATE KEY-----...",
"client_email": "service@project.iam.gserviceaccount.com"
},
"gcsPath": "videos/output.mp4"
}

Dropbox Upload

{
"outputDestination": "dropbox",
"dropboxAccessToken": "your-dropbox-token",
"dropboxPath": "/Videos/converted.mp4"
}

Webhook Configuration

URL Only Webhook (Default)

Sends JSON payload with video URL and metadata:

{
"webhookUrl": "https://api.example.com/webhook",
"webhookHeadersJson": "{\"Authorization\": \"Bearer webhook-secret\"}"
}

Webhook with Video File

Sends multipart form data with actual video file attached:

{
"webhookUrl": "https://api.example.com/upload",
"webhookSendFile": true,
"webhookFileFieldName": "video",
"webhookHeadersJson": "{\"Authorization\": \"Bearer webhook-secret\"}"
}

Webhook Payload Structure (URL Only)

{
"status": "success",
"downloadUrl": "https://api.apify.com/v2/key-value-stores/.../records/video.mp4",
"outputProvider": "apify",
"inputFormat": "mp4",
"outputFormat": "webm",
"duration": 120.5,
"fileSize": 15234567,
"executionTime": 45.2,
"thumbnails": [],
"timestamp": "2024-01-15T10:30:00.000Z",
"metadata": {
"videoCodec": "vp9",
"audioCodec": "opus",
"resolution": "1920x1080"
}
}

Advanced Processing

Video Trimming

{
"trimStart": "00:00:30",
"trimEnd": "00:02:00"
}

Add Text Watermark

{
"watermarkEnabled": true,
"watermarkType": "text",
"watermarkText": "© My Company",
"watermarkPosition": "bottom-right",
"watermarkOpacity": "0.8",
"watermarkFontSize": 24,
"watermarkFontColor": "white"
}

Add Image Watermark

{
"watermarkEnabled": true,
"watermarkType": "image",
"watermarkImageUrl": "https://example.com/logo.png",
"watermarkPosition": "top-left",
"watermarkOpacity": "0.5"
}

Generate Thumbnails

{
"thumbnailsEnabled": true,
"thumbnailsCount": 5,
"thumbnailsFormat": "jpg",
"thumbnailsWidth": 640
}

Generate GIF Preview

{
"gifPreviewEnabled": true,
"gifPreviewStartTime": "00:00:05",
"gifPreviewDuration": 3,
"gifPreviewWidth": 480,
"gifPreviewFps": 10
}

Audio Controls

{
"audioVolume": "1.5",
"audioNormalize": true,
"audioReplaceUrl": "https://example.com/music.mp3"
}

HLS Streaming Output

HLS is the default output format. Simply set outputFormat to hls:

{
"inputType": "url",
"videoUrl": "https://example.com/video.mp4",
"outputFormat": "hls",
"videoCodec": "h264",
"audioCodec": "aac"
}

Track Extractor

The extractor feature allows you to split a video file into separate video, audio, and subtitle tracks. This is useful for:

  • Extracting audio from videos (e.g., for podcasts or music)
  • Getting video without audio (for adding custom audio later)
  • Extracting embedded subtitles/captions

Basic Extraction - All Tracks

{
"inputType": "url",
"videoUrl": "https://example.com/movie.mkv",
"extractorEnabled": true,
"extractorExtractVideo": true,
"extractorExtractAudio": true,
"extractorExtractSubtitles": true
}

Extract Audio Only (MP3)

{
"inputType": "url",
"videoUrl": "https://example.com/video.mp4",
"extractorEnabled": true,
"extractorExtractVideo": false,
"extractorExtractAudio": true,
"extractorExtractSubtitles": false,
"extractorAudioFormat": "mp3",
"extractorAudioBitrate": "320k"
}

Extract Audio as High-Quality FLAC

{
"inputType": "url",
"videoUrl": "https://example.com/concert.mp4",
"extractorEnabled": true,
"extractorExtractVideo": false,
"extractorExtractAudio": true,
"extractorAudioFormat": "flac"
}

Extract Video Without Audio

{
"inputType": "url",
"videoUrl": "https://example.com/video.mp4",
"extractorEnabled": true,
"extractorExtractVideo": true,
"extractorExtractAudio": false,
"extractorVideoCodec": "copy"
}

Extractor Output Example

When extraction is complete, the output includes URLs for each extracted track:

{
"status": "success",
"extractedTracks": {
"videoUrl": "https://api.apify.com/v2/key-value-stores/.../records/video_video.mp4",
"audioUrl": "https://api.apify.com/v2/key-value-stores/.../records/video_audio.mp3",
"subtitleUrls": [
{
"url": "https://api.apify.com/v2/key-value-stores/.../records/video_subtitle_eng.srt",
"language": "eng",
"title": "English",
"index": 0
}
]
},
"streamInfo": {
"hasVideo": true,
"hasAudio": true,
"hasSubtitles": true,
"streams": {
"video": [{ "codec": "h264", "width": 1920, "height": 1080 }],
"audio": [{ "codec": "aac", "channels": 2, "sampleRate": "48000" }],
"subtitle": [{ "codec": "subrip", "language": "eng" }]
}
}
}

Extractor Parameters

ParameterTypeDefaultDescription
extractorEnabledBooleanfalseEnable extractor mode
extractorExtractVideoBooleantrueExtract video track (without audio)
extractorExtractAudioBooleantrueExtract audio track
extractorExtractSubtitlesBooleantrueExtract subtitle/caption tracks
extractorVideoCodecStringcopyVideo codec (h264, h265, vp9, copy)
extractorAudioFormatStringmp3Audio format (mp3, aac, wav, flac, ogg, opus)
extractorAudioBitrateString-Audio bitrate (e.g., 128k, 320k)
extractorSubtitleFormatStringsrtSubtitle format (srt, ass, vtt)

Input Parameters Reference

ParameterTypeRequiredDefaultDescription
inputTypeStringYesurlurl, dropbox, googleDrive, cloudStorage, apifyStorage
videoUrlStringConditional-Video URL (required for url input)
urlAuthTypeStringNononenone, bearer, basic, header
outputFormatStringYeshlsmp4, mov, webm, mkv, avi, gif, hls
videoCodecStringNoh264h264, h265, vp8, vp9, av1, copy
audioCodecStringNoaacaac, mp3, opus, vorbis, copy, none
qualityStringNomediumlow, medium, high, veryhigh
presetStringNomediumFFmpeg preset (affects speed/quality)
outputDestinationStringNoapifyapify, s3, gcs, dropbox
webhookUrlStringNo-Webhook URL for notifications
webhookSendFileBooleanNofalseSend video file in webhook

Output

The Actor saves results to:

  1. Apify Dataset - Conversion results and metadata
  2. Apify Key-Value Store - Converted video file (if outputDestination is apify)
  3. OUTPUT Key - Full result object

Output Structure

{
"status": "success",
"inputSource": "url",
"inputFormat": "mp4",
"outputFormat": "webm",
"outputUrl": "https://api.apify.com/v2/key-value-stores/.../records/video.webm",
"outputDestination": "apify",
"fileSize": 12345678,
"videoDuration": 120.5,
"executionTime": 45.2,
"thumbnails": [],
"timestamp": "2024-01-15T10:30:00.000Z"
}

Supported Input Formats

  • MP4, MOV, AVI, MKV, WEBM, FLV, WMV, 3GP, OGV

Resource Requirements

  • Memory: 4096 MB recommended for HD video
  • CPU: 1-4 cores depending on video length

License

MIT