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 high \
--cloudconst 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/tasks", {
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/tasks",
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/tasks \
-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.