Không tải lên, 100% cục bộ, không cần tài khoản

Trích xuất khung hình video

Lấy hình ảnh tĩnh từ video của bạn. Chọn số khung hình mỗi giây và định dạng hình ảnh, mọi thứ chạy trong trình duyệt.

Cách Trích xuất khung hình video hoạt động

Trích xuất ảnh tĩnh từ bất kỳ video nào dưới dạng tệp PNG hoặc JPG trực tiếp trong trình duyệt của bạn, với ffmpeg WebAssembly chạy bộ lọc fps ngay trên thiết bị của bạn. Bạn có thể lấy mọi khung hình, một khung hình mỗi giây, hoặc các khung hình theo một khoảng thời gian tùy chỉnh tính bằng giây. Bạn cũng có thể giới hạn việc trích xuất trong một khoảng thời gian cụ thể của đoạn clip. Mỗi ảnh được trích xuất sẽ có đường liên kết tải xuống riêng của nó ngay khi ffmpeg xử lý xong; không có tệp lưu trữ đóng gói nào.

Đầu ra PNG bảo toàn chính xác từng điểm ảnh như nó xuất hiện trong khung hình video, lý tưởng để phân tích ảnh, tạo ảnh thu nhỏ, hoặc chuẩn bị tập dữ liệu học máy. Đầu ra JPG áp dụng nén có mất dữ liệu để giảm dung lượng từng tệp với một chút chi phí về chất lượng, phù hợp hơn cho việc xem trước hình ảnh hoặc khi bạn chỉ cần một tham chiếu nhanh. Tốc độ trích xuất phụ thuộc vào số lượng khung hình được yêu cầu và CPU của thiết bị bạn; lấy vài khung hình chính từ một đoạn clip ngắn gần như tức thì, trong khi trích xuất mọi khung hình từ một bản ghi 4K dài có thể mất vài phút.

Cách sử dụng Trích xuất khung hình video, từng bước

  1. Kéo thả hoặc chọn video bạn muốn trích xuất frame.
  2. Chọn khoảng trích xuất (mỗi frame, mỗi giây hoặc số giây tùy chỉnh giữa các frame).
  3. Tùy chọn đặt thời gian bắt đầu và thời gian kết thúc để giới hạn trích xuất vào phạm vi cụ thể.
  4. Chọn định dạng đầu ra (PNG để không mất dữ liệu, JPG để có file nhỏ hơn).
  5. Nhấn Trích xuất khung hình và tải xuống từng khung hình riêng lẻ khi ffmpeg hoàn tất.

Trường hợp sử dụng thường gặp

  • Lấy frame từ video demo sản phẩm để dùng làm ảnh chụp màn hình minh họa trong tài liệu.
  • Trích xuất một frame mỗi giây từ bản ghi time-lapse để tạo tờ liên hệ của toàn bộ chuỗi.
  • Xây dựng tập dữ liệu ảnh từ clip video ngắn cho dự án huấn luyện mô hình thị giác máy tính.
  • Tạo các ứng cử viên thumbnail theo khoảng đều từ screencast dài để tìm frame xem trước tốt nhất.

Câu hỏi thường gặp

Tôi có thể trích xuất frame mà không cần kết nối mạng không?

Không. ffmpeg.wasm áp dụng bộ lọc fps ngay bên trong tab trình duyệt của bạn. Video của bạn được đọc vào bộ nhớ cục bộ, các khung hình được lấy mẫu và ghi thành tệp PNG hoặc JPG trên thiết bị của bạn, sau đó mỗi khung hình được cung cấp dưới dạng đường liên kết tải xuống cục bộ riêng. Không có gì được truyền đến Sunasty hay bất kỳ bên thứ ba nào.

Sự khác biệt giữa frame đầu ra PNG và JPG là gì?

PNG dùng nén không mất dữ liệu, vì vậy mọi pixel trong ảnh đã trích xuất chính xác như xuất hiện trong frame video, không có dữ liệu bị loại bỏ. JPG áp dụng thuật toán lossy JPEG (-q:v 2 trong ffmpeg, gần như không mất dữ liệu), tạo ra file nhỏ hơn 5-10 lần so với PNG với chi phí hiện vật nén nhỏ xung quanh các cạnh tương phản cao và chi tiết tinh.

Tôi sẽ nhận được bao nhiêu khung hình, và chúng sẽ chiếm bao nhiêu dung lượng ổ đĩa?

Số frame bằng thời lượng clip (tính bằng giây) chia cho khoảng đã chọn. Với trích xuất mỗi frame trên clip 30 fps, 60 giây, đó là 1800 file PNG. Mỗi frame PNG Full-HD thô khoảng 1-3 MB, vì vậy hãy kiểm tra dung lượng ổ đĩa có sẵn trước khi trích xuất ở tốc độ tối đa từ clip dài.

Tôi có thể trích xuất frame chỉ từ một phần cụ thể của video không?

Có. Hãy đặt thời gian bắt đầu và thời gian kết thúc trước khi nhấn Trích xuất. ffmpeg sẽ tua đến điểm bắt đầu và dừng lại ở điểm kết thúc, chỉ xử lý đoạn đó. Đây là cách hiệu quả nhất để giảm số lượng khung hình đầu ra khi bạn chỉ cần ảnh từ một thời điểm cụ thể.

Công cụ trích xuất frame chấp nhận những định dạng video nào?

ffmpeg.wasm đọc được MP4, MOV, WebM, MKV, AVI, và hầu hết các định dạng chứa phổ biến. Codec đầu vào được xử lý một cách minh bạch; bạn chỉ cần chọn định dạng ảnh đầu ra (PNG hoặc JPG). Mỗi khung hình được tải xuống sẽ có phần mở rộng .png hoặc .jpg tương ứng.

Tại sao việc trích xuất mỗi frame từ video dài mất nhiều thời gian?

Bộ lọc fps phải giải mã toàn bộ luồng video đã nén, từng khung hình một, để tạo ra dữ liệu điểm ảnh thô cho mỗi ảnh đầu ra. Với một video 1080p dài 10 phút ở 24 khung hình/giây, đó là 14400 khung hình cần giải mã và mã hóa thành tệp ảnh thông qua WebAssembly mà không có tăng tốc GPU. Việc dùng tốc độ trích xuất thấp hơn (một khung hình mỗi 5 giây thay vì mọi khung hình) làm giảm đáng kể cả thời gian xử lý lẫn số lượng tệp cần tải xuống.