Chunkify CLI

Transcode any video from the terminal.

Chunkify CLI is a simple command-line tool for transcoding local videos, similar to FFmpeg, but powered by our cloud architecture.

curl -fsSL https://cli.chunkify.sh | bash 
$
chunkify -i source.mp4 -o video_av1.mp4 -f mp4_av1 --crf 32 --preset 8



Chunkify CLI version: dev
https://chunkify.dev
────────────────────────────────────────────────

Transcode faster

Transcoding should take minutes, not hours

Instead of using your local computer, leverage the power of Chunkify's distributed cloud architecture. Save time and resources.

$
chunkify -i source.mp4 -o video_h264.mp4 -f mp4_h264 -s 1920x1080 --crf 24



Chunkify CLI version: dev
https://chunkify.dev
────────────────────────────────────────────────
$
chunkify -i source.mp4 -o video_h264.mp4 -f mp4_h264 --transcoders 4 --vcpu 4 --crf 21



Chunkify CLI version: dev
https://chunkify.dev
────────────────────────────────────────────────
$
chunkify -i source.mp4



Chunkify CLI version: dev
https://chunkify.dev
────────────────────────────────────────────────
────────────────────────────────────────────────
Source ID: src_34Q2LANPet3YcwKhwTfnHu3DtON
$
chunkify -h



Chunkify CLI version: dev
https://chunkify.dev
────────────────────────────────────────────────
Transcode videos with Chunkify CLI

The Chunkify CLI brings super-fast video transcoding to your terminal. With a single command, you can upload local files, transcode videos using Chunkify's parallel technology, and download the processed files to your local disk.

Connect your CLI to your project
chunkify config token sk_project_token

Examples:

Make a video 1080p H264
chunkify -i video.mp4 -o video_1080p.mp4 -f mp4_h264 -s 1920x1080 --crf 21

Upload a video only and get the Source ID
chunkify -i video.mp4

Generate thumbnails
chunkify -i video.mp4 -o thumbnails.jpg -f jpg -s 320x0 --interval 10

Use specific profile to use a different project
chunkify config token sk_project_token --profile your_profile
chunkify -i video.mp4 -f mp4_av1 --preset 7 -o video_1080p.mp4 --profile your_profile

Usage:
  chunkify [flags]
  chunkify [command]

Available Commands:
  completion  Generate the autocompletion script for the specified shell
  config      Manage configuration settings
  help        Help about any command
  listen      Forward webhook notifications to local HTTP URL
  update      Update Chunkify CLI to the latest version
  version     Print the version number of Chunkify

Flags:
      --ab string                 Set audio bitrate in bits per second (32000-512000). You can use units like K, M (e.g. 1200K, 2M)
      --an                        Disable audio
      --bufsize string            Set buffer size in bits (100000-50000000). You can use units like K, M (e.g. 1200K, 2M)
      --channels int              Set number of audio channels (1, 2, 5, 7)
      --cpu-used string           Set VP9 CPU usage (0-8)
      --crf int                   Set constant rate factor (H264/H265: 16-35, AV1: 16-63, VP9: 15-35)
  -t, --duration int              Set duration in seconds
  -f, --format string             Output format (mp4_h264, mp4_h265, mp4_av1, webm_vp9, hls_h264, hls_h265, hls_av1, jpg)
  -r, --framerate float           Set frame rate (15-120)
  -g, --gop int                   Set group of pictures size (1-300)
  -h, --help                      help for chunkify
      --hls-enc                   Enable HLS encryption
      --hls-enc-iv string         Set HLS encryption IV
      --hls-enc-key string        Set HLS encryption key
      --hls-enc-key-url string    Set HLS encryption key URL
      --hls-manifest-id string    Set HLS manifest ID
      --hls-segment-type string   Set HLS segment type (mpegts, fmp4)
      --hls-time int              Set HLS segment duration in seconds (1-10)
  -i, --input string              Input video to transcode. It can be a file, HTTP URL or source ID (src_*)
      --interval int              Set frame extraction interval in seconds (1-60)
      --json                      Output in JSON format
      --level int                 Set encoding level (H264: 10, 11, 12, 13, 20, 21, 22, 30, 31, 32, 40, 41, 42, 50, 51, H265: 30, 31, 41, AV1: 30, 31, 41)
      --maxrate string            Set maximum bitrate in bits per second (100000-50000000). You can use units like K, M (e.g. 1200K, 2M)
  -o, --output string             Output file path
      --pixfmt string             Set pixel format (yuv410p, yuv411p, yuv420p, yuv422p, yuv440p, yuv444p, yuvJ411p, yuvJ420p, yuvJ422p, yuvJ440p, yuvJ444p, yuv420p10le, yuv422p10le, yuv440p10le, yuv444p10le, yuv420p12le, yuv422p12le, yuv440p12le, yuv444p12le, yuv420p10be, yuv422p10be, yuv440p10be, yuv444p10be, yuv420p12be, yuv422p12be, yuv440p12be, yuv444p12be)
      --preset string             Set encoding preset (H264/H265: ultrafast, superfast, veryfast, faster, fast, medium, AV1: 6-13)
      --profile string            Use a specific profile. When not set, the default profile is used. See config command for more details.
      --profilev string           Set video profile (H264: baseline, main, high, high10, high422, high444, H265/AV1: main, main10, mainstillpicture)
      --quality string            Set VP9 quality (good, best, realtime)
  -s, --resolution string         Set resolution wxh (0-8192x0-8192)
      --seek int                  Seek to position in seconds
      --sprite                    Generate sprite sheet
      --storage-path string       Storage absolute path
      --transcoders int           Number of transcoders to use
      --vb string                 Set video bitrate in bits per second (100000-50000000). You can use units like K, M (e.g. 1200K, 2M)
      --vcpu int                  vCPU per transcoder (4, 8, or 16)
      --vn                        Disable video
      --x264keyint int            H264 - Set x264 keyframe interval
      --x265keyint int            H265 - Set x265 keyframe interval

Use "chunkify [command] --help" for more information about a command.

Developer

Test Webhooks Locally

Use webhooks to receive job and upload events in your app. The listen command forwards these webhooks to your local server, making development easier.

chunkify listen \
--forward-to http://localhost:3000/webhooks/chunkify \
--webhook-secret <secret-key>
$ chunkify listen \
--forward-to http://localhost:3000/webhooks/chunkify \
--webhook-secret <secret-key>
[mac.home] Start forwarding to http://localhost:3000/webhooks/chunkify 
Events:
- job.completed
- job.failed
- job.cancelled
- upload.completed
- upload.failed
- upload.expired
────────────────────────────────────────────────

Try Chunkify CLI

curl -fsSL https://cli.chunkify.sh | bash