Trên Ubuntu, lệnh ffmpeg được sử dụng phổ biến để thao tác với video. Chúng ta có thể sử dụng ffmpeg command để đóng dấu bản quyền watermark video hay convert video sang ảnh động GIF. Bài này vinasupport.com sẽ hướng dẫn các bạn tách ảnh theo 1 frame nhất định của 1 video sử dụng ffmpeg command.
Cài đăt thư viện ffmpeg
Đầu tiên chắc chắn bạn đã cài ffmpeg command, nếu chưa sử dụng command sau để cài.
# Trên Ubuntu sudo apt install ffmpeg # Trên CentOS / Redhat sudo yum install ffmpeg
Hướng dẫn tách ảnh từ video sử dụng ffmpeg
VD 1: Tách ảnh theo mỗi giây
ffmpeg -i vinasupport.com.mp4 -r 1 -f image2 image-%3d.jpeg
Trong đó
- -i vinasupport.com.mp4 là định dạng file input đầu vào có định dạng là .mp4
- -r 1: Sẽ tách ảnh theo từng giây
- -f image2: là output ra theo 1 định dạng ảnh
- image-%3d.jpeg: Tên file ảnh được tách ra. Với %3d là số thứ tự được output. image-001.jpeg, image-002.jpeg
VD 2: Mình muốn tách ảnh ở giây thứ 3 thôi.
ffmpeg -ss 00:00:03 -i vinasupport.com.mp4 -frames:v 1 image-1.png
Trong đó:
- -ss 00:00:03: Cho biết tách ảnh bắt đầu từ giây thứ 3
- -frames:v 1: Chỉ tách 1 frame, nghĩ là tách 1 ảnh ở giây thứ 3
VD 3: Thay đổi kích thước (resize ảnh) được tách ra từ video
ffmpeg -i vinasupport.com.mp4 -s 640x480 %04d.jpg
- -s 640×480: Chỉ ra kích thước ảnh cần resize
Nguồn: vinasupport.com