Real project · Desktop app · Content

Video converter for TikTok and Shorts

A desktop tool that batch-converts horizontal 16:9 videos into vertical 9:16 for TikTok, Reels and Shorts: centre crop, blurred background or black bars, a caption from the file name and fast GPU encoding.

Type
Desktop app
For
SMM teams, clip channel owners
Stack
Python · FFmpeg · NVENC · Pillow
Format
Finished product
Desktop app for converting video from 16:9 to 9:16

The problem

Owners of clip channels convert dozens of horizontal videos to vertical every day. In a video editor that is pure routine: every file on its own, the same actions, the same caption, minutes of export per clip.

They needed a tool they could drop a whole folder into and get finished vertical videos with captions, without opening an editor.

The solution

The app takes files or a folder by drag and drop, converts everything in one run in the chosen mode, adds a caption from a file-name template and encodes on the GPU through NVENC.

Results go into a 9x16_converted subfolder next to the originals, metadata is stripped and every step is visible in the log.

How it works

  1. 01

    Files or a folder

    Drag clips or a whole folder into the window. The output folder can stay next to the originals or be set anywhere.

  2. 02

    Framing mode

    Crop cuts out the centre of the frame, Blur puts a blurred copy of the video behind it, Black adds black bars. "All three" produces three versions from one clip.

  3. 03

    Captions

    The {filename} template inserts the file name, supports line breaks, and the caption can be edited per file. Font, size (48, 72 or 110 px), position at the top, centre or bottom, optional upper case.

  4. 04

    Effects

    Mirroring and light noise when needed, so the clips differ from the original.

  5. 05

    Encoding

    The app checks whether h264_nvenc is available and encodes on the GPU at maximum quality (CRF 18). Without an NVIDIA card it falls back to software encoding.

  6. 06

    Result

    Finished files in the subfolder, metadata removed, and every operation and error in the log.

What's inside

Batch processing

A whole folder in one run, with progress and a log for every file.

Three modes at once

Crop, Blur and Black together: three versions of a clip to test which format performs better.

A caption per file

The caption list is edited per video; "reset all" restores the template.

Fonts

Any font installed on the system, with accurate text wrapping through Pillow.

GPU encoding

NVENC makes export several times faster than the CPU, with an encoder check at start-up.

Clean metadata

All metadata from the original is removed from the finished files.

In numbers

16:9 → 9:16

A horizontal clip becomes vertical in one pass, with no video editor.

Format
3

Framing modes: crop, blurred background, black bars, or all three at once.

Modes
1

Run for a whole folder: files are processed one after another with no one watching.

Run
CRF 18

Maximum encoding quality on the GPU through h264_nvenc.

Quality

Stack

Python for the interface and the file queue, FFmpeg for framing and encoding, NVENC for speed on NVIDIA cards, Pillow for rendering captions with correct line wrapping.

  • Python
  • FFmpeg
  • h264_nvenc
  • Pillow
  • Batch processing

Have an idea?

Let's talk.

What do you need?
Send via Telegram

We reply within an hour during working hours.

Message us