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

  Aug 7, 2018      2m      0   
 

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 'video.mp4' -vf fps=8 '/output/img_%06d.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 8 -f image2 -start_number 1 -i folder/img_%*.jpg -crf 10 -q:v 5  -pix_fmt yuv420p 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:00 -to 00:05:00 -c copy output1.mp4
$ ffmpeg -i input.mp4 -ss 00:00:25 -to 00:01:12 -c copy 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

Resize video

$ ffmpeg -i video1.mp4 -b:v 1M -filter:v scale=-1:720 -c:a copy video_720p.mp4
$ ffmpeg -i video1.mp4 -b:v 1M -filter:v -s 1280x720 -c:a copy video_720p.mp4
  • -b:v càng lớn thể hiện chất lượng (bitrate càng nhỏ thì block càng to –> ảnh kém rõ). Bit rate thông thường video đẹp là 3M (3 triệu bit/s = 3000 kb/s)

Convert .mp4 sang .avi

$ ffmpeg -i input.mp4 output.avi

Speed up video

Note:

  • 2X speed up = 1/2 = 0.5
  • NX speed up = 1/N
$ ffmpeg -itsscale 0.5 -i input.mp4 -c copy output.mp4 # 2X speed up

Slow down video

Note:

  • 2X slow down = 2
  • NX slow down = N
$ ffmpeg -itsscale 2 -i input.mp4 -c copy output.mp4 # 2X slow down

Crop video (part of original resolution)

$ sudo apt install mencoder
$ mencoder -oac pcm -ovc x264 -vf crop=<WIDTH>:<HEIGHT>:<X-UPPER-LEFT>:<Y-UPPER-TOP> -o output.mp4 input.mp4
$ mencoder -oac pcm -ovc x264 -vf crop=524:1080:698:0 -o output.mp4 input.mp4


Khám phá xử lý ảnh - GVGroup




-->