<!-- Source: https://9pic.ai/vi/blog/clip-event-videos-from-csv-timestamps/ -->
![Nền họa tiết sọc trừu tượng](/images/stripes.svg)

[Quay lại blog](/vi/blog/)

![Cách cắt clip video sự kiện từ tệp CSV: mỗi dòng một clip với số BIB, video, thời gian bắt đầu và kết thúc](https://bgimg.9pic.ai/images/blog/clip-event-videos-from-csv-timestamps.jpg?title=C%C3%A1ch+c%E1%BA%AFt+clip+video+s%E1%BB%B1+ki%E1%BB%87n+t%E1%BB%AB+t%E1%BB%87p+CSV+s%E1%BB%91+BIB+v%C3%A0+th%E1%BB%9Di+gian&amp;subtitle=M%E1%BB%97i+d%C3%B2ng+m%E1%BB%99t+clip%3A+s%E1%BB%91+BIB%2C+video%2C+%C4%91i%E1%BB%83m+b%E1%BA%AFt+%C4%91%E1%BA%A7u+v%C3%A0+k%E1%BA%BFt+th%C3%BAc.+Motion+c%E1%BA%AFt+%C4%91%C3%BAng+nh%E1%BB%AFng+g%C3%AC+b%E1%BA%A1n+li%E1%BB%87t+k%C3%AA.&amp;kicker=H%C6%B0%E1%BB%9Bng+d%E1%BA%ABn+Motion&amp;author=%C4%90%E1%BB%99i+ng%C5%A9+9Pic+AI&amp;readTime=8+ph%C3%BAt&amp;lang=vi)

**Tóm tắt**: trong Motion, vào **Configuration**, bật **Bib Number Search** và lưu. Chọn **Download template**, điền mỗi clip một dòng với `bib_number`, `video_source`, `start_time` và `end_time`, rồi chọn **Upload CSV**. Thời gian là vị trí bên trong tệp video, không phải giờ trong ngày. Chọn **Prepare ahead** nếu muốn clip sẵn sàng ngay khi có người tìm.

Khi nào nên dùng CSV
-----------------------

Motion có thể tìm người bằng selfie và đọc số BIB trong video. CSV thì khác: bạn chỉ cho Motion chính xác vị trí của từng clip. Đây là lựa chọn tốt hơn khi:

- **Lịch thi đấu đã cho biết ai xuất hiện trước camera.** Thứ tự xuất phát ở giải cưỡi ngựa, lượt bơi và làn bơi, thứ tự biểu diễn ở giải nhảy hoặc thể dục dụng cụ, các lượt bắn.
- **Khó thấy khuôn mặt và số BIB.** Mũ bảo hiểm, camera đặt ngang, người cưỡi ngựa ở xa phía bên kia sân, số trên tấm lót yên.
- **Bạn muốn cắt chính xác.** Trọn một lượt thi hoặc bài biểu diễn, từ đầu đến cuối, thay vì vài giây quanh một lần xuất hiện.
- **Bạn muốn lấp chỗ trống.** Vận động viên mà tính năng đọc số BIB tự động bỏ sót vẫn có clip nhờ một dòng CSV.


Video chỉ dùng cho clip CSV hoàn toàn không cần đọc khuôn mặt hay số BIB. Motion chỉ chuẩn bị chúng để cắt clip.

Bước 1: Bật Clips from your CSV
------------------------------------

Mở sự kiện, vào **Motion**, rồi **Configuration** và **Search methods**. Bật **Bib Number Search**. Thao tác này cũng bật **Clips from your CSV**. Chọn **Save changes**.

Ngay dưới công tắc sẽ có một bảng tải lên, với **Download template** và **Upload CSV**. Bạn có thể tải lên trước khi lưu, nhưng người tham gia chỉ nhận được clip khi công tắc đã được lưu.

Bước 2: Điền các cột
-----------------------------

Chọn **Download template**. Tệp mẫu có mỗi video đã nhập một dòng, đã điền sẵn ID của video đó. Sao chép dòng khi cần và điền thông tin. Dòng đầu tiên chứa tên cột:

| Cột | Nội dung |
| --- | --- |
| `bib_number` | Số mà vận động viên sẽ nhập. Gồm chữ cái, chữ số, dấu cách, `/` và `-`, tối đa 32 ký tự. |
| `video_source` | ID video trong tệp mẫu. Tên tệp chính xác cũng dùng được khi chỉ có một video mang tên đó. |
| `start_time` | Điểm bắt đầu clip trong video đó. |
| `end_time` | Điểm kết thúc clip. Phải sau điểm bắt đầu, muộn hơn tối đa 10 phút và không vượt quá cuối video. |
| `label` | Không bắt buộc. Ghi chú cho bạn, như "Về đích" hoặc "Lượt 2". |

Một ví dụ nhỏ:

    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

Số BIB A17 có hai dòng, nên ai nhập A17 sẽ nhận hai clip. Số BIB được khớp không phân biệt chữ hoa hay chữ thường, nhưng số 0 ở đầu thì có tính: `0123` và `123` là hai số BIB khác nhau.

Bước 3: Viết thời gian theo cách Motion đọc
------------------------------------------------------

Thời gian là **vị trí trong tệp video**: khoảnh khắc đó nằm ở đâu trong bản ghi hình. Đây không phải giờ trong ngày. Motion chấp nhận:

- `00:01:02`: giờ, phút và giây
- `01:02`: phút và giây
- `62` hoặc `62.5`: số giây


Ngày tháng, AM/PM và múi giờ sẽ bị từ chối. Một bẫy thường gặp với bảng tính: Excel và Google Sheets có thể đổi `01:02` thành giờ đồng hồ. Hãy định dạng hai cột thời gian là văn bản thuần trước khi nhập hoặc dán.

Clip CSV dùng đúng thời gian của bạn. Motion không thêm khoảng đệm, và cài đặt độ dài clip không thay đổi chúng. Nếu muốn có một hai giây trước khi vận động viên xuất hiện, hãy tính sẵn vào thời gian bắt đầu.

Đổi thời gian chip hoặc giờ đồng hồ thành vị trí
------------------------------------------------------------------

Motion không kết nối với hệ thống tính giờ. Nhưng nếu bạn có giờ trong ngày, từ chip tính giờ, hệ thống chấm điểm hoặc ghi chú của ai đó, bảng tính có thể quy đổi:

1. Tìm giờ trong ngày lúc bắt đầu ghi hình. Quay một chiếc đồng hồ hoặc đồng hồ của giải khi bắt đầu mỗi bản ghi hình giúp việc này dễ và chính xác.
2. Với mỗi vận động viên, lấy giờ trong ngày của họ trừ đi thời điểm bắt đầu ghi hình. Kết quả là vị trí trong tệp.
3. Trừ đi vài giây cho điểm bắt đầu và cộng thêm vài giây cho điểm kết thúc, để clip bao gồm cả lúc tiến đến và chính khoảnh khắc đó.
4. Viết kết quả dưới dạng văn bản theo `hh:mm:ss`.


Ví dụ, một camera bắt đầu ghi hình lúc 08:12:40 và một vận động viên đi qua thảm tính giờ lúc 08:53:50. Thời điểm đi qua nằm ở phút 41 giây 10 trong tệp, nên clip từ `00:41:05` đến `00:41:20` sẽ bao gồm khoảnh khắc đó.

Đồng hồ camera và đồng hồ tính giờ hiếm khi khớp đến từng giây, và thảm tính giờ có thể nằm hơi trước hoặc sau vùng nhìn của camera. Kiểm tra vài clip sau lần tải lên đầu tiên và dịch cả cột nếu clip bị sớm hoặc muộn.

Bước 4: Kiểm tra tệp, rồi nhập
-----------------------------------------

Chọn **Upload CSV** và chọn tệp (tối đa 5 MB và 50.000 dòng). Nếu sự kiện đã có clip, chọn **Replace all clips** hoặc **Add to current clips**.

**Check file** không lưu gì. Bước này cho biết bao nhiêu dòng đã sẵn sàng, các dòng có lỗi, các dòng trùng lặp sẽ bị bỏ qua và các cảnh báo. Bảng **Rows to check** nêu từng lỗi kèm số dòng như trong bảng tính của bạn, để bạn sửa nhanh. Cảnh báo, ví dụ hai dòng chồng lên nhau cho cùng một số BIB, không chặn việc nhập.

Khi mọi thứ ổn, chọn **Import N clips** (hoặc **Replace with N clips**). Chỉ những dòng đã sẵn sàng được lưu. Mỗi sự kiện chứa tối đa 50.000 clip CSV.

Bước 5: Chọn thời điểm tạo clip
-------------------------------------------

Trong mục **Clips from your CSV**, **How participants get these clips** có hai tùy chọn và nút Save riêng:

- **Cut when searched** (mặc định): clip được tạo ở lần đầu có người tìm số BIB đó. Lần tìm đầu mất khoảng một phút, và trang tự cập nhật.
- **Prepare ahead**: Motion tạo sẵn mọi clip ở chế độ nền, nên clip hiện ra ngay. Clip được chuẩn bị với tốc độ khoảng một clip mỗi 2 giây, nên vài nghìn dòng sẽ mất vài giờ. Đặt **Keep prepared clips for** trong khoảng 30 đến 365 ngày.


Với Prepare ahead, một thanh tiến độ cho biết bao nhiêu clip đã sẵn sàng, và mỗi dòng có trạng thái: Ready, Preparing, Waiting, Failed, Needs update hoặc Expired. Nếu bạn thay đổi watermark hoặc cài đặt bán clip, clip được đánh dấu **Needs update** và **Update clips** sẽ tạo lại chúng. Trong lúc chờ, người tham gia vẫn nhận clip, được cắt khi tìm.

Dùng Prepare ahead khi nhiều người sẽ tìm cùng lúc, như ngay sau một giải chạy lớn hoặc lúc kết quả được công bố.

Sửa lỗi
-----------

- **Remove last import** chỉ xóa clip từ lần tải lên gần nhất.
- **Delete all clips** xóa mọi clip CSV sau khi bạn xác nhận.
- Không có tính năng xóa từng dòng. Hãy sửa dòng trong tệp rồi tải lên lại với **Replace all clips**.
- Nếu bạn tải lên lại một video, các clip cũ của video đó được đánh dấu "(replaced)" và không còn được gửi đi. Hãy tải lên tệp CSV với ID của video mới.


Dùng CSV cùng số BIB tự động
-------------------------------------

Bạn có thể bật thêm **Find bibs automatically**. Với mỗi video, các dòng CSV của một số BIB được ưu tiên hơn số BIB Motion tìm thấy ở đó, còn số BIB tìm tự động sẽ bổ sung cho những video CSV không bao gồm. Nhờ vậy, CSV là cách tốt để sửa hoặc bổ sung kết quả tự động. Xem [cách tìm số BIB trong video giải chạy](/vi/blog/find-bib-numbers-in-race-video/).

Người tham gia thấy gì
----------------------------

Trong thư viện ảnh, họ chọn **Đoạn video**, nhập số BIB và chọn **Tìm video của tôi**. Họ nhận một clip cho mỗi dòng CSV của số BIB đó, tối đa 20 clip. Nếu bạn bán clip, họ thấy bản xem trước có watermark và có thể mua bản không watermark. Mọi người tìm cùng một số BIB đều nhận cùng những clip đó.

FAQ
---

### Tôi vẫn cần xử lý video chứ?

Có. Hãy nhập và xử lý video trong Motion để có thể cắt clip. Khi chỉ bật clip CSV, Motion bỏ qua bước đọc khuôn mặt và số BIB.

### Một số BIB có thể có clip từ nhiều camera không?

Có. Thêm một dòng cho mỗi video. Mỗi dòng là một clip riêng.

### Tôi có dùng cùng tệp CSV cho đường chạy nhiều vòng được không?

Được. Thêm một dòng cho mỗi vòng. Clip CSV không bị giới hạn một clip mỗi video.

### Một dòng tạo được clip dài nhất bao nhiêu?

10 phút, đủ cho phần lớn lượt thi, bài biểu diễn và lượt bắn.

Bước tiếp theo
-------------------

Tải tệp mẫu, điền năm dòng cho những vận động viên bạn có thể kiểm tra, và tải lên trước khi làm cả danh sách. Với phần thiết lập còn lại, hãy làm theo [cách thiết lập clip video giải chạy](/vi/products/motion/#how). Với sự kiện trong sân thi đấu, xem [clip người cưỡi ngựa từ video dài của giải cưỡi ngựa](/vi/blog/rider-video-clips-from-long-video-9pic-motion/). Mọi tùy chọn của Motion có trên trang [9Pic Motion](/vi/products/motion/).

Sẵn sàng bắt đầu?
-------------------------

Tham gia cùng các đơn vị tổ chức sự kiện đã dùng 9Pic AI để lưu trữ ảnh, tìm ảnh bằng AI và phân phối hình ảnh, đưa hơn 100 triệu ảnh đến hơn 5 triệu người tham gia tại hơn 5.000 sự kiện.

[Bắt đầu](https://admin.9pic.ai/sign-up) [Đặt lịch demo](/vi/contact/)
