Convert video to WebM
โReelโ (an open-source video platform like PeerTube) wants to serve royalty-free formats. WebM with VP9 is the open alternative to MP4 with h264.
API
ittybit video \
-i https://reel-app.com/uploads/video.mov \
--format webm \
--codec vp9 \
--quality highconst task = {
input: 'https://reel-app.com/uploads/video.mov',
kind: 'video',
options: {
format: 'webm',
codec: 'vp9',
quality: 'high',
},
};
const res = await fetch('https://api.ittybit.com/jobs', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.ITTYBIT_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify(task),
});
const data = await res.json();import requests
task = {
"input": "https://reel-app.com/uploads/video.mov",
"kind": "video",
"options": {
"format": "webm",
"codec": "vp9",
"quality": "high",
},
}
res = requests.post(
"https://api.ittybit.com/jobs",
headers={"Authorization": f"Bearer {api_key}"},
json=task,
)
data = res.json()TASK='{
"input": "https://reel-app.com/uploads/video.mov",
"kind": "video",
"options": {
"format": "webm",
"codec": "vp9",
"quality": "high"
}
}'
curl -X POST https://api.ittybit.com/jobs \
-H "Authorization: Bearer $ITTYBIT_API_KEY" \
-H "Content-Type: application/json" \
-d "$TASK" CLI
ittybit video \
-i video.mov \
-o video.webm \
--codec vp9 \
--quality high
AV1 in WebM
For even smaller files with modern browser support:
ittybit video \
-i video.mov \
-o video.webm \
--codec av1 \
--quality high
Dual format delivery
Serve WebM to Chrome/Firefox, MP4 to Safari:
ittybit video \
-i video.mov \
-o video.webm \
--codec vp9 \
--quality high
ittybit video \
-i video.mov \
-o video.mp4 \
--codec h264 \
--quality high
<video>
<source src="video.webm" type="video/webm" />
<source src="video.mp4" type="video/mp4" />
</video>
The browser picks the first format it supports.