FFMPEG - Tổng hợp các lệnh xử lý video trên Linux

  Mar 20, 2018      2m
   

Trích xuất hình ảnh từ video, cắt ghép video

FFMPEG - Tổng hợp các lệnh xử lý video trên Linux

FFMPEG là thư viện hỗ trợ xử lý video rất phổ biến trên hệ điều hành Linux. Với những thao tác đơn giản như trích hình ảnh hay cắt video thì mình nên dùng các câu lệnh sẽ tiện hơn. Không cần thiết phải dùng những phần mềm có giao diện.

Video –> Ảnh: Trích hình ảnh từ video

$ ffmpeg -i '/path/to/video.mp4' -vf fps=24 '/path/to/output/img_%04d.jpg'

Với lệnh trên hình ảnh được trích ra từ video.mp4 sẽ theo format:

  • img_0001.jpg
  • img_0002.jpg
  • img_0003.jpg

Ảnh –> Video: Ghép ảnh thành video

$ ffmpeg -framerate 2 -f image2 -start_number 1 -i /path/to/img_%*.jpg -crf 0 -q:v 1  -pix_fmt yuv420p /path/to/video.mp4

Giải thích:

  • framerate: fps (khung hình trên giây)
  • q:v: chất lượng video (1-31). Tốt nhất: 1 (dung lượng lớn nhất), tệ nhất: 31 (nhẹ nhất)

Lệnh cắt video

$ ffmpeg -i input.mp4 -ss 00:00:05 -to 00:00:16 -async 1 output1.mp4
$ ffmpeg -i input.mp4 -ss 00:00:25 -to 00:01:12 -async 1 output2.mp4

Lệnh nối video

$ nano mylist.txt
file '/path/to/file1.mp4'
file '/path/to/file2.mp4'
file '/path/to/file3.mp4'
$ ffmpeg -f concat -i mylist.txt -c copy output.mp4


$ ffmpeg -i 'concat:input1.mp4|input2.mp4' -codec copy output.mp4