Downloading and Curating Table Tennis Highlights From YouTube
YouTube has thousands of table tennis highlight uploads, but most are full matches, poorly captioned, or stuffed with mid-roll ads that make them useless for quick reference. I started pulling match clips about four years ago for a coaching blog I ran. The process seemed straightforward until it wasn't. What follows is how I actually do it, the tools I use, and the specific problems I've run into along the way. The search term itself is essentially a graveyard of low-effort upload farms. You will find some genuinely good content buried under channels that re-upload the same Matilda Hellström point for the twelfth time. The key is learning which creators actually film and edit original content versus which ones scrape ITTF footage and call it their own. I start by looking at channel upload patterns. Channels that post match highlights within 48 hours of a WTT or ITTF event are usually either official or scraping. Channels that occasionally publish breakdowns of specific rallies, especially with commentary on spin or footwork, are more likely to be legit. I keep a list of about six channels I actually trust: TT Prime, Table Tennis Daily, and the official ITTF channel are the baseline. After that, it's scattered — ITC (International Table Tennis Channel), some German editors like TT-News.de, and a few Chinese-language channels that post full match replays before they get taken down.
For the actual download process, I use yt-dlp. It's a command-line tool, which is annoying if you're not comfortable with a terminal, but it's the only thing that reliably handles YouTube's format selection without choking on geo-restrictions or quality caps. The basic command I run is: yt-dlp -f "bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best" --merge-output-format mp4 --sub-langs en --write-subs -o "%(title)s_%(id)s.%(ext)s" [URL] This grabs the highest available video and audio, merges them into an MP4, and pulls any available subtitles. The output filename includes the video ID, which matters because YouTube titles get reformatted or take down later and you need a stable reference. I usually batch this for three to five videos at a time rather than running it one by one. It takes about 90 seconds per 10-minute match clip on a decent connection.
Here's the part nobody tells you: YouTube's recommended bitrate for sports content is significantly higher than what most highlight channels actually deliver. A full HD ITTF broadcast often streams at 4–5 Mbps, but the mobile or low-bitrate versions you might accidentally grab can be 1.5 Mbps or lower. At 1.5 Mbps, fast rally exchanges between players like Lin Shidong or Truls Möregårdh lose frame definition entirely. The ball blurs into a white smear during backhand exchanges. I learned this the hard way when I submitted a highlight reel to a tournament analysis site and got pulled back because the rally at 3:42 was unwatchable. Now I always check the codec and bitrate with ffprobe before downloading anything I plan to use. ffprobe -v quiet -print_format json -show_streams [file].mp4 I look for the video stream's avg_bitrate field. If it's below 3000k for 1080p content, I delete it and grab a higher quality source. Most highlight channels compress their uploads twice — once when they render and again when YouTube processes it. A 720p source from a quality editor often looks better than a ripped 1080p from a scraper channel. This is counter-intuitive if you're just going by resolution, but compression artifacts in fast-moving table tennis footage are brutal at low bitrates.
Get the Full Details

For editing the clips down to highlight length, I use DaVinci Resolve. It's free, and the timeline scrubbing is fast enough that I can trim a 40-minute match down to a two-minute highlight reel in about 20 minutes of work. The free version doesn't support some color grading features, but you don't need those for sports highlights. I mainly cut, add a basic title card, and export at the same bitrate I verified earlier — around 5000k for 1080p, 8000k if the source is 4K. There's a specific edge case that trips people up repeatedly: YouTube's Content ID system. If you download a match from the ITTF's official channel and re-upload it, even with commentary or edits, the automated system will flag it. I've had three separate highlight compilations claimed in the past year. The workaround is simple but obvious only after you've been burned — use footage from third-party broadcasters or event organizers that aren't in YouTube's Content ID database. Some regional broadcasters like Eurosport or certain Chinese streamers haven't enrolled their feeds. The footage quality varies, but it won't get claimed. I keep a spreadsheet of which channels have Content ID registration and which don't. It saves me from having to appeal takedowns, which is a process that takes 30 to 60 days and rarely results in the content coming back. Another limitation worth mentioning: YouTube's algorithm actively deprioritizes sports highlight content now. Even if you compile genuinely useful clips, the platform pushes short-form content and algorithmic recommendations favor retention over utility. I stopped trying to grow a highlight channel on YouTube around two years ago. The math doesn't work for niche sports content anymore unless you're posting daily and leaning heavily into Shorts. Instead, I put my curated clips on a private Google Drive folder and share links with people who actually want them. It's less glamorous but far more reliable.
If you're doing this for personal use — watching matches offline, studying opponents, building a training library — the yt-dlp workflow above will handle it. If you're planning to redistribute or monetize, you need to understand Content ID implications upfront. There's no clean way around it, and no tool will protect you from a claim once it's filed. The biggest practical tip I can offer: always download the full match whenever possible, even if you think you only need highlights. Highlight clips are often edited with the first 15 seconds cut off, which is exactly where the serving pattern or initial rally setup lives. Having the uncut version means you can reconstruct context that the highlight editor removed. I've spent hours trying to find the opening serve sequence from a highlight reel that started mid-rally. It was in the full match, sitting at 0:08. Just always grab the full thing if the file size is manageable.