eipi10
Senior Member
I. Giới thiệu về ffmpeg
ffmpeg là một công cụ, framework miễn phí và mã nguồn mở hàng đầu chuyên xử lý (encode, decode, edit...) multimedia như video, audio, ảnh... ffmpeg chạy trên cmd/terminal trên rất nhiều hệ điều hành: Windows, Linux, Mac...
Trang web chính thức: https://www.ffmpeg.org/
1. Cài đặt:
Các bạn có thể tham khảo cách cài đặt trên các hệ máy tại đây, viết khá dễ hiểu:
https://avpres.net/FFmpeg/#ch1
Có 2 link mình thấy khá quan trọng để các bạn tham khảo bao gồm:
Một số tool khá hay dựa trên một phần/hoàn toàn ffmpeg để thực hiện các mục đích khác nhau:
--------------------------------------------------------------------
Edit 2: Đã update các phần cơ bản về ffmpeg. Rất hoan nghênh các thím vào đóng góp thêm Quan trọng hơn, ai có bất kì thắc mắc hoặc mẹo hay nào đều có thể vào chia sẻ để mọi người bàn bạc.
ffmpeg là một công cụ, framework miễn phí và mã nguồn mở hàng đầu chuyên xử lý (encode, decode, edit...) multimedia như video, audio, ảnh... ffmpeg chạy trên cmd/terminal trên rất nhiều hệ điều hành: Windows, Linux, Mac...
Trang web chính thức: https://www.ffmpeg.org/
1. Cài đặt:
Các bạn có thể tham khảo cách cài đặt trên các hệ máy tại đây, viết khá dễ hiểu:
https://avpres.net/FFmpeg/#ch1
- Windows: Download các bản từ đây, nên chọn bản release là bản stable hiện tại:
https://www.gyan.dev/ffmpeg/builds/
Hướng dẫn cài đặt trên Windows: https://completejavascript.com/huong-dan-tim-hieu-ffmpeg-co-ban/#cài-đặt-ffmpeg-trên-windows-10 - Linux: https://www.ffmpeg.org/download.html#build-linux
- Mac: https://evermeet.cx/ffmpeg/
Để sử dụng ffmpeg, sau khi cài đặt, các bạn mở commander/terminal trên máy tương ứng. Cấu trúc lệnh cơ bản khi sử dụng ffmpeg là:
Code:
ffmpeg -i input.mkv output.mp4
Trong đó
-i
là tham số ám chỉ file input của bạn. input.mkv và output.mp4 là đường dẫn đến các file video các bạn muốn làm việc. Ngoài ra bạn có thể sử dụng các tham số khác để chỉnh sửa video như bạn muốn. Một số lệnh cơ bản:
2.1. Copy:
Cơ bản là để chuyển đổi định dạng video một cách nhanh nhất mà không làm giảm chất lượng video. Ví dụ các bạn muốn chuyển video định dạng ts sang mp4 thì sử dụng cấu trúc sau đây:
Code:
ffmpeg -i input.ts -c copy output.mp4
-c
ở đây có thể viết thành -codec
, tức là định dạng video, trường hợp bạn ko muốn chỉnh sửa gì với video mà chỉ muốn đổi định dạng với chất lượng gốc thì nên sử dụng copy.
2.2. Cắt (trim) video:
Với lệnh copy ở trên, bạn cũng có thể cắt 1 đoạn video và vẫn giữ nguyên chất lượng ban đầu. Có 3 dạng copy cơ bản:
- Cắt từ phút 01:00 đến phút 03:00:
Code:ffmpeg -ss 00:01:00 -i video.mp4 -to 00:02:00 -c copy cut.mp4
-ss
được đặt trước-i
dùng để tìm kiếm nhanh đến vị trí keyframe gần nhất với phút 01:00,-to
biểu thị cho video kéo dài 2 phút.
- Cắt từ phút 01:00 đến phút 02:00:
Code:ffmpeg -i video.mp4 -ss 00:01:00 -to 00:02:00 -c copy cut.mp4
-ss
được đặt phía sau-i
, ffmpeg sẽ tìm đến vị trí 01:00 chính xác hơn, nhưng cũng chậm hơn,-to
biểu thị cho điểm kết thúc của video.
- Cắt từ phút 01:00 đến phút 02:00:
Code:ffmpeg -ss 00:01:00 -i video.mp4 -to 00:02:00 -c copy -copyts cut.mp4
-to
biểu thị cho điểm kết thúc video trong trường hợp đầu tiên thì có thể thêm tham số-copyts
vào.
Tham khảo tại đây: https://trac.ffmpeg.org/wiki/Seeking
II. Các link tham khảoCó 2 link mình thấy khá quan trọng để các bạn tham khảo bao gồm:
- Wiki: https://trac.ffmpeg.org/wiki
Trong đây chứa toàn bộ các link và hướng dẫn chi tiết chính thức từ ffmpeg. Nó có khá nhiều nên sẽ hơi ngợp nhưng dùng để tìm kiếm mẫu và syntax khá tốt.
- ffmprovisr: https://amiaopensource.github.io/ffmprovisr/
Nếu trang chính thức của ffmpeg hơi khó hiểu thì các bạn có thể vào link trên, cá nhân mình thấy trang này tóm tắt giải thích các lệnh cơ bản khá dễ hiểu, rất đáng để tham khảo.
Một số tool khá hay dựa trên một phần/hoàn toàn ffmpeg để thực hiện các mục đích khác nhau:
- youtube-dl: https://youtube-dl.org/
Chuyên download video từ các trang web, số lượng support cũng khá nhiều
- Handbrake: https://handbrake.fr/
Phần mềm transcode video cực kỳ phổ biến
- FFmpeg Batch Converter: https://ffmpeg-batch.sourceforge.io/
Mystiq: https://github.com/swl-x/MystiQ
Cung cấp giao diện cơ bản để thực hiện ffmpeg cho nhiều video cùng lúc.
- Shutter Encoder: https://github.com/paulpacifico/shutter-encoder
Avidemux: http://avidemux.sourceforge.net/
Cả 2 đều dựa trên ffmpeg và có giao diện edit video khá chuyên sâu.
--------------------------------------------------------------------
Edit 2: Đã update các phần cơ bản về ffmpeg. Rất hoan nghênh các thím vào đóng góp thêm Quan trọng hơn, ai có bất kì thắc mắc hoặc mẹo hay nào đều có thể vào chia sẻ để mọi người bàn bạc.
Last edited: