| Ocalt Query Language
Pricing Dashboard ocalt.com v1.0

TRANSCODE

Convert and process media from any source — files, RTSP streams, HTTP/HTTPS streams — to any format. Powered by FFmpeg. RTSP is a first-class input source.

From RTSP stream (IP/surveillance camera)

(* Record IP camera stream to mounted storage *) TRANSCODE "rtsp://192.168.1.100/stream" AS "mp4" INTO "/mounted/recordings/cam1.mp4" SET ?path AFTER EMIT ?path

From public stream URL

(* Record live stream to storage *) TRANSCODE "https://stream.example.com/live/feed.m3u8" AS "mp4" INTO "/mounted/recordings/live.mp4" SET ?path

From file — format conversion

DOWNLOAD "https://example.com/video.mov" INTO "/root/tmp.mov" AFTER TRANSCODE "/root/tmp.mov" AS "mp4" INTO "/mounted/videos/converted.mp4" SET ?path AFTER EMIT ?path

Inside DIRECTIVE — uses target machine's FFmpeg

(* IP camera only accessible from local network — transcode on that machine *) DIRECTIVE "home-server" OPEN NEST TRANSCODE "rtsp://192.168.1.100/cam1" AS "mp4" INTO "/mounted/recordings/cam1.mp4" CLOSE NEST
(* Save to target machine's local storage instead *) DIRECTIVE "home-server" OPEN NEST TRANSCODE "rtsp://192.168.1.100/cam1" AS "mp4" INTO "C:/recordings/cam1.mp4" CLOSE NEST

With TUNNEL — stream directly to a peer

NEW TUNNEL SET ?room AFTER DIRECTIVE "home-server" OPEN NEST TRANSCODE "rtsp://192.168.1.100/cam1" INTO ?room(sender_url) CLOSE NEST AFTER REDIRECT ?room(receiver_url)

With NEW VIDEO BRIDGE — live camera to browser

(* Allocate bridge room — outside DIRECTIVE *) NEW VIDEO BRIDGE 2 PEERS SET ?room (* oql-client on home-server captures RTSP and pushes to bridge *) AFTER DIRECTIVE "home-server" OPEN NEST TRANSCODE "rtsp://192.168.1.100/cam1" INTO ?room(peers)(0)(join_url) CLOSE NEST (* Visitor's browser joins as receiver *) AFTER REDIRECT ?room(peers)(1)(join_url)

Accepted input sources

SourceExample
Virtual filesystem"/root/video.mp4" "/mounted/media/clip.mov"
Native path (inside DIRECTIVE)"C:/recordings/feed.mp4" "/home/user/video.mkv"
RTSP stream"rtsp://192.168.1.100/stream"
RTSPS stream"rtsps://192.168.1.100/stream"
HTTP/HTTPS stream"https://stream.example.com/live.m3u8"
TUNNEL room?room(sender_url)
Bridge room peer?room(peers)(0)(join_url)

Output formats

All formats supported by FFmpeg: mp4 mov avi mkv webm flv wmv m4v 3gp mp3 wav ogg flac aac m4a and more.