Reverse engineered from Editing News' patcher and made open source.
- python 3.10+
- ffmpeg (in
$PATH) - gtk4 & libadwaita
git clone https://github.com/buwryme/tikutils.git
cd tikutils
chmod +x setup.sh; ./setup.shrun tikutils from your terminal or app grid.
- analyzer: fetch public video metadata and stream URLs directly from TikTok.
- patcher: re-encodes to h.264/h.265 and patches mp4 structure to force tiktok passthrough.
- downloader: native save dialogs with progress tracking.
- maximum format: supports any resolution and FPS! check out this 4K60FPS test video
Important
playback for viewers is best up to 1080p60fps. higher resolutions/bitrates may cause streaming issues
the default method is mvhd:
- upgrades
mvhdto version 1, preserving creation/modification times, timescale, rate, volume, matrix, and next track ID. - sets the
mvhdduration to0xFFFFFFFFFFFFFFFF. - appends or replaces a
©cmtentry inudta/meta/ilstwith the project watermark. - shifts
stco/co64chunk offsets by the moov size change.
the mdat, sample tables, streams, and trailing data remain untouched. the legacy audio-inflation method is still available with method = "legacy" in the patcher config.
patcher tuning (method, inflation rate, codec-specific dummy sizes, metadata, and trailing payload) is fetched from a public .toml gist. if the fetch fails, the built-in copy is used. encode settings remain available in the app.
the patcher core is a git submodule of tiktok-lossless-upload. it tracks the latest main commit; setup.sh runs git submodule update --remote, sparse-checks out only tiktok_lossless_patch.py, and exposes it as src/backend/patcher_core.py.
for inquiries contact @buwryy on discord
made with ♥ by buwryme