How to Clip Event Videos From a CSV of Bib Numbers and Times
If you already know when each athlete is on camera, you do not need face matching to find them. Put the bib numbers and times in a spreadsheet, upload it to 9Pic Motion, and every row becomes a clip that the athlete finds by typing their bib.
In short: in Motion, go to Configuration, turn on Bib Number Search and save. Select Download template, fill in one row per clip with bib_number, video_source, start_time and end_time, then Upload CSV. Times are positions inside the video file, not the time of day. Choose Prepare ahead if you want clips ready the moment people search.
When a CSV is the right tool
Motion can find people by selfie and can read bib numbers in the footage. A CSV is different: you tell Motion exactly where each clip is. That is the better choice when:
- The schedule already says who is on camera. A horse show's order of go, swim heats and lanes, a dance or gymnastics running order, shooting stages.
- Faces and bibs are hard to see. Helmets, side-on cameras, riders far across an arena, numbers on a saddle pad.
- You want exact cuts. A whole round or routine, start to finish, rather than the few seconds around a sighting.
- You want to fill gaps. A runner the automatic bib reading missed can still get a clip from one CSV row.
Videos used only for CSV clips do not need face or bib reading at all. Motion prepares them for clipping only.
Step 1: Turn on Clips from your CSV
Open the event, go to Motion, then Configuration and Search methods. Turn on Bib Number Search. This also turns on Clips from your CSV. Select Save changes.
An upload panel appears right under the switch, with Download template and Upload CSV. You can upload before saving, but participants only get the clips once the switch is saved.
Step 2: Fill in the columns
Select Download template. It has one row per video you have imported, already filled with that video's ID. Copy rows as needed and fill them in. The first row holds the column names:
| Column | What goes in it |
|---|---|
bib_number | The number the athlete will type. Letters, digits, spaces, / and -, up to 32 characters. |
video_source | The video ID from the template. The exact file name also works when only one video has that name. |
start_time | Where the clip starts in that video. |
end_time | Where it ends. It must be after the start, at most 10 minutes later, and not past the end of the video. |
label | Optional. A note for you, such as "Finish" or "Round 2". |
A small example:
bib_number,video_source,start_time,end_time,label
1042,finish-cam-1.mp4,00:41:05,00:41:20,Finish
A17,arena-north.mov,01:12:30,01:14:10,Round 1
A17,arena-north.mov,02:03:00,02:04:35,Jump-off
Bib A17 has two rows, so whoever types A17 gets two clips. Bibs are matched without caring about upper or lower case, but leading zeros count: 0123 and 123 are different bibs.
Step 3: Write the times the way Motion reads them
A time is a position in the video file: how far into the recording the moment is. It is not the time of day. Motion accepts:
00:01:02: hours, minutes and seconds01:02: minutes and seconds62or62.5: seconds
Dates, AM/PM and time zones are rejected. One spreadsheet trap: Excel and Google Sheets may turn 01:02 into a clock time. Format the two time columns as plain text before you type or paste.
CSV clips use your times exactly. Motion adds no padding, and the clip length setting does not change them. If you want a second or two before the athlete appears, build it into the start time.
Turning chip times or clock times into positions
Motion does not connect to timing systems. But if you have times of day, from chip timing, a scoring system or someone's notes, a spreadsheet can convert them:
- Find the time of day the recording started. Filming a clock or the race clock at the start of each recording makes this easy and reliable.
- For each athlete, subtract the start of the recording from their time of day. The result is the position in the file.
- Subtract a few seconds for the start, and add a few for the end, so the clip covers the approach and the moment itself.
- Write the results as text in
hh:mm:ss.
For example, a camera started recording at 08:12:40 and a runner crossed the timing mat at 08:53:50. The crossing is 41 minutes and 10 seconds into the file, so a clip from 00:41:05 to 00:41:20 covers it.
Camera clocks and timing clocks rarely agree to the second, and the timing mat may sit a little before or after the camera's view. Check a few clips after the first upload and shift the whole column if they are early or late.
Step 4: Check the file, then import
Select Upload CSV and choose the file (up to 5 MB and 50,000 rows). If the event already has clips, choose Replace all clips or Add to current clips.
Check file saves nothing. It shows how many rows are ready, rows with problems, duplicates it will skip and warnings. The Rows to check table names each problem with the row number as it appears in your spreadsheet, so you can fix it quickly. Warnings, such as two overlapping rows for one bib, do not block the import.
When it looks right, select Import N clips (or Replace with N clips). Only the ready rows are saved. An event can hold up to 50,000 CSV clips.
Step 5: Choose when clips are made
In the Clips from your CSV section, How participants get these clips has two options and its own Save button:
- Cut when searched (the default): a clip is made the first time someone searches that bib. The first search takes about a minute, and the page updates by itself.
- Prepare ahead: Motion makes every clip in the background, so it appears instantly. Clips are prepared at about one every 2 seconds, so a few thousand rows take a few hours. Set Keep prepared clips for between 30 and 365 days.
With Prepare ahead, a progress strip shows how many clips are ready, and each row gets a status: Ready, Preparing, Waiting, Failed, Needs update or Expired. If you change the watermark or the clip sale settings, clips are marked Needs update and Update clips makes them again. Until then, participants still get them, cut when searched.
Use Prepare ahead when a crowd will search at once, such as straight after a big race or the moment results go out.
Fixing mistakes
- Remove last import deletes only the clips from your most recent upload.
- Delete all clips clears every CSV clip after you confirm.
- There is no single-row delete. Fix the row in your file and upload it again with Replace all clips.
- If you upload a video again, its old clips are marked "(replaced)" and are no longer given out. Upload a CSV with the new video's ID.
Using a CSV with automatic bibs
You can turn on Find bibs automatically as well. For each video, CSV rows for a bib win over bibs Motion found there, and bibs found automatically fill in the videos your CSV does not cover. That makes the CSV a good way to correct or complete automatic results. See how to find bib numbers in race video.
What participants see
In the gallery they choose Video Clips, type their bib and select Find my videos. They get one clip per CSV row for that bib, up to 20. If you sell clips, they see a watermarked preview and can buy the clean version. Everyone who searches the same bib gets the same clips.
FAQ
Do I still need to process the videos?
Yes. Import and process them in Motion so they can be cut. With only CSV clips on, Motion skips face and bib reading.
Can one bib have clips from several cameras?
Yes. Add one row per video. Each row is its own clip.
Can I use the same CSV for a lap course?
Yes. Add a row for each lap. CSV clips are not limited to one per video.
What is the longest clip a row can make?
10 minutes, which covers most rounds, routines and stages.
What to do next
Download the template, fill in five rows for athletes you can check, and upload them before doing the full list. For the rest of the setup, follow how to set up race video clips. For arena events, see rider clips from long horse show videos. Every Motion option is on the 9Pic Motion page.