Importing Videos from Amazon S3
This import method is designed for advanced users and system administrators who need to transfer large volumes of video content. It requires familiarity with AWS S3, command-line tools, or third-party S3 clients.
Amazon S3 bucket import allows you to transfer large volumes of videos directly to Viostream by uploading them to a designated S3 import bucket. This method is ideal for bulk migrations, automated workflows, or when dealing with very large files that would be impractical to upload through the web interface.
Prerequisites
Before you can import via S3, ensure you have:
- A Viostream account with S3 import permissions enabled
- Videos in supported formats (MP4, MOV, AVI, WMV, etc.)
- An S3 client application or command-line access
- Basic familiarity with S3 bucket operations
How S3 Import Works
- Upload to Import Bucket: You upload videos to a designated S3 import bucket
- Automatic Detection: Viostream monitors the bucket for new files
- Processing Pipeline: Videos are automatically imported and processed
- Library Integration: Processed videos appear in your Viostream library
S3 Import Setup
1. Retrieve your S3 credentials
- Login to your Viostream account and navigate to the Settings page. Select the Developer Tools tab.
- Under the Remote Upload Settings section, you will find the following
information:
- Remote Path: This is the location of your S3 import bucket, typically in the
format
s3://<bucket name>/remote/<account prefix>/
. - Access Key: Your AWS access key ID.
- Secret Key: Your AWS secret key.
- Remote Path: This is the location of your S3 import bucket, typically in the
format
2. Configure Your S3 Client
Once you have the bucket details, configure your preferred S3 client:
- Bucket Name: this is the first path of the remote path (immediately after
s3://
) - Region: this is
ap-southeast-2
for most customers - contact Customer Success if you are unsure - Access Key ID: your AWS access key ID
- Secret Access Key: your AWS secret key
Recommended S3 Clients
Command Line Tools
AWS CLI (Recommended)
Best for: Scripting, automation, and advanced users
# Install AWS CLI
pip install awscli
# Configure credentials
aws configure
# Upload single file (with reference ID)
aws s3 cp video.mp4 s3://<bucket-name>/remote/<account-prefix>/upload/<reference-id>/
# Upload entire directory
aws s3 sync ./videos/ s3://<bucket-name>/remote/<account-prefix>/upload/
# Upload with progress (with reference ID)
aws s3 cp large-video.mp4 s3://<bucket-name>/remote/<account-prefix>/upload/<reference-id>/ --progress
Ensure you replace placeholders (e.g., <bucket-name>
, <account-prefix>
, <reference-id>
) with your actual S3 bucket
details.
The reference ID is optional but recommended for tracking purposes. It can be any unique identifier you choose, such as a timestamp or job ID. This ID will be added to the video metadata in Viostream, making it easier to manage and reference the imported content. You can also use the reference ID to query the Viostream API to retrieve metadata and construct embed links.
GUI Applications
The S3 credentials provided do NOT have permission to list all bucket in the AWS account, or list the content of the import bucket outside of your account prefix. This is a security measure to ensure that your content remains private and secure.
Some S3 clients attempt to list all buckets in the account, which will fail with an "Access Denied" error.
Cyberduck (Winsdows/macOS)
Best for: Users who prefer graphical interfaces
- Platforms: Windows, macOS
- Features: Drag-and-drop uploads, progress tracking, resume capabilities
- Setup: Add S3 connection with your bucket credentials
- Download: cyberduck.io
S3 Browser (Windows)
Best for: Windows users needing advanced S3 management
- Platform: Windows only
- Features: Advanced bucket management, batch operations
- Setup: Configure with your import bucket details
- Download: s3browser.com
CloudMounter (macOS)
Best for: macOS users who want S3 as a mounted drive
- Platform: macOS only
- Features: Mount S3 bucket as local drive
- Usage: Drag files directly to mounted bucket
- Download: cloudmounter.net
Monitoring Import Progress
Viostream provides real-time import status updates via a number of methods:
- Check Viostream Library: New videos will appear shortly after upload to the S3 import bucket. Processing status will be displayed in the library.
- Email Notifications: You will receive an email when the import is complete.
- Import Bucket: When the file starts processing, it will be moved from the
upload/
folder to theprocessing/
folder in the S3 import bucket. When it completes successfully, it will be moved to thecomplete/
folder. In the event of a failure, it will be moved to thefailed/
folder.
File Organisation Best Practices
Folder Structure
Organise files in S3 to match your intended Viostream structure:
s3://<bucket-name>/remote/<account-prefix>/
├── upload/
│ ├── internal-id-0001/2025-Q1-Sales-Training-Module-1.mp4
│ ├── internal-id-0002/Marketing-Product-Launch-Presentation.mp4
│ └── internal-id-0003/2025-August-Industry-Webinar-Recording.mp4
├── completed/
└── failed/
└── processing/
File Naming
Use clear, descriptive filenames. These will be used as the video titles in Viostream:
- ✅
2024-Q1-Sales-Training-Module-1.mp4
- ✅
Marketing-Product-Launch-Presentation.mp4
- ❌
VID_20240801_142533.mp4
- ❌
untitled-video-final-v2.mp4
File Format Support
Viostream supports importing these video formats via S3:
- MP4 (recommended)
- MOV
- AVI
- WMV
- MKV
- WEBM
- 3GP
Troubleshooting Common Issues
Upload Problems
Slow upload speeds:
- Use multipart uploads for files over 100MB
- Upload during off-peak hours
Permission denied errors:
- Verify your AWS credentials
- Ensure the import bucket name is correct
Files not appearing in Viostream:
- Check file formats are supported
- Verify files uploaded to correct bucket path
- Allow time for processing (large files take longer)
Authentication Issues
AWS CLI configuration:
# Reconfigure AWS CLI
aws configure
# Test access
aws s3 ls s3://<bucket-name>/remote/<account-prefix>/
Invalid credentials:
- Contact Customer Success to verify access keys
Performance Optimisation
Large file uploads:
# Use multipart upload
aws configure set default.s3.multipart_threshold 64MB
aws configure set default.s3.max_concurrent_requests 10
Batch operations:
# Upload multiple files in parallel
aws s3 sync ./videos/ s3://<bucket-name>/remote/<account-prefix>/upload/ --cli-write-timeout 0
Security and Compliance
Data Encryption
- All files are encrypted in transit using TLS
- S3 bucket uses server-side encryption
- Consider client-side encryption for sensitive content
Access Control
- Import bucket paths and credentials are isolated per customer
- Access is restricted to authorised credentials only
Data Retention
- Files are automatically removed from S3 after successful import
- Failed imports are retained for 7 days for troubleshooting
- Contact Customer Success for custom retention policies
Automation and Integration
Scripted Uploads
Create automated upload scripts:
#!/bin/bash
# upload-to-viostream.sh
BUCKET="<bucket-name>"
OBJECT_PREFIX="remote/<account-prefix>/upload"
SOURCE_DIR="/path/to/videos/"
# Upload
aws s3 sync "$SOURCE_DIR" "s3://$BUCKET/$OBJECT_PREFIX/" \
--progress \
--exclude "*.tmp" \
--exclude "*.DS_Store"
echo "Upload completed"
Optimisation Tips
- Compress videos before upload if quality allows
- Use bulk operations rather than individual file uploads
Additional Resources
Getting Started
Ready to start using S3 import?
- Retrieve your bucket credentials and configuration details
- Install and configure your preferred S3 client
- Test with a small batch of videos first
- Scale up once you're comfortable with the process
For technical support with S3 imports, including bucket setup, credential issues, or processing problems, contact Customer Success with your account details and specific error messages.