- Sinh học
- Khoa học tự nhiên
- Học liệu
- Công nghệ thông tin
- Khám phá Tự nhiên
- Kỹ năng sống
- Văn bản
Cảnh giới cao nhất trong võ thuật là lấy vô chiêu thắng hữu chiêu. Không có chiêu thức chính là chiêu thức tối thượng.
Không làm mất thời gian của bạn nữa, sau đây chúng ta sẽ cùng tìm hiểu FFmpeg. Rốt cuộc FFmpeg là gì, nó có sức mạnh lớn đến mức nào.
![]() |
ffmpeg |
FFmpeg là một framework hàng đầu về đa phương tiện (xử lý audio, video). Nó có thể decode (giải mã), encode (mã hóa), transcode (chuyển mã), mux (ghép kênh), demux (phân kênh, tách kênh), stream (ví dụ như livestream trên youtube, facebook,..), filter (lọc) và play (chạy, phát video) rất nhiều thứ mà con người hay máy móc tạo ra.
FFmpeg hỗ trợ hầu hết các định dạng. Và nó khá là linh hoạt, có thể compile, run và chạy trên nhiều nền tảng như Linux, Mac OS X, Microsoft Windows, BSD, Solaris,...và ở trên nhiều môi trường, kiến trúc khác nhau.
Nó chứa các thư viện libavcodec, libavutil, libavformat, libavfilter, libavdevice, libswscale và libswresample. Chúng có thể được sử dụng bởi ứng dụng. Cũng giống như ffmpeg, ffserver, ffplay và ffprobe được sử dụng để transcoding, streaming và playing.
Rõ ràng, FFmpeg là một phần mềm xử lý audio, video đơn giản, miễn phí và hiệu quả. Dù bạn là lập trình viên hay là một người sử dụng bình thường thì đều có thể sử dụng được FFmpeg cho những mục đích của mình.
FFmpeg cung cấp sẵn cho người dùng những tiện ích là: ffmpeg, ffserver, ffplay và ffprobe.
ffmpeg
Tiện ích dựa trên command line giúp người sử dụng chuyển đổi định dạng tệp tin (hỗ trợ rất nhiều định dạng khác nhau).
ffserver
Server cho việc streaming
ffplay
Một chương trình đơn giản giúp chạy, phát video dựa trên thư viện SDL và ffmpeg
ffprobe
Một chương trình đơn giản giúp phân tích việc stream các tệp tin đa phương tiện.
libavutil: là một thư viện chứa các hàm cho việc đơn giản chương trình, bao gồm việc sinh ra số ngẫu nhiên, cấu trúc dữ liệu, chương trình toán học, tiện ích đa phương tiện cơ bản,...
libavcodec: là một thư viện chứa bộ encoder (mã hóa) và decoder (giải mã) cho audio/video.
libavformat: là thư viện chứa bộ demuxer (phân kênh) và muxer (ghép kênh) cho những định dạng đa phương tiện.
libavdevice: là thư viện chứa những thiết bị đầu vào và đầu ra cho việc lấy vào hay xuất ra nội dung đa phương tiện với những phần mềm phổ biến như Video4Linux, Video4Linux2, VfW, and ALSA.
libavfilter: là thư viện cho việc lọc video
libswscale: là thư viện cho việc tối ưu hóa ảnh về co dãn, màu sắc,...
libswresample: là thư viện cho việc tối ưu hóa về việc lấy mẫu lại audio,...
Các bạn có thể vào trang chủ để tải FFmpeg. Có 3 nền tảng cho bạn lựa chọn là: Linux, Windows và Mac OS X. Ở đây mình chọn nền tảng Windows.
Sau đó bạn sẽ được chuyển đến trang để tải phần mềm về. Lúc này bạn có 3 lựa chọn để tải về:
Static: chỉ bao gồm các tiện ích như mình đã kể trên, tức chỉ chứa file chạy .exe
Shared: ngoài những thành phần kể trên giống như của phần static thì còn có thêm thư viện dạng liên kết động .dll
Dev: chứa những tệp tin như trên cộng thêm các tệp tin header, lib,...
Có 2 trường hợp:
Sau đây, mình sẽ chỉ nói về việc sử dụng FFmpeg như là một người dùng bình thường mà không phải là một lập trình viên.
Sau khi tải về thành công bạn sẽ có một tệp tin .zip. Tiếp theo bạn hãy giải nén nó ra và copy toàn bộ nội dung đó vào một thư mục, ví dụ C:\ffmpeg.
Thực tế là bạn đã có thể sử dụng FFmpeg rồi mà không cần phải cài đặt FFmpeg thêm gì cả. Tuy nhiên để cho việc xử lý audio, video đơn giản, nhanh chóng và hiệu quả, công việc tiếp theo đó là cài đặt biến môi trường cho phần mềm.
Để cài đặt biến môi trường cho phần mềm FFmpeg, bạn làm theo những bước sau đây:
Bước 1: Nhấn vào biểu tượng search, rồi gõ vào Advanced system settings. Sau đó, bấm vào Advanced system settings đó.
Bước 2: Cửa sổ tiếp theo hiện ra thì bạn chọn tab Advanced => Enviroment Variables
Bước 3: Cửa sổ tiếp theo hiện ra bạn chọn trong mục System variables => Path => Edit. Sau đó, bạn thêm vào đường dẫn sau C:\ffmpeg\bin - là đường dẫn đến file chạy của ffmpeg.exe, ffplay.exe, ffprobe.exe.
Bây giờ, bạn chỉ cần lưu lại là xong. Đến đây bạn có thể sử dụng FFmpeg ở mọi thư mục trên máy tính.
Tiếp theo, phần quan trọng nhất trong bài viết ngày hôm nay, đó là các câu lệnh FFmpeg thường dùng.
Để hiểu rõ hơn, cũng như biết nhiều hơn về các câu lệnh của FFmpeg, bạn có thể vào trang chủ của nó, tại đây. Sau đây, mình sẽ tóm tắt lại một số những câu lệnh mà theo mình nó phù hợp với những người sử dụng bình thường và dĩ nhiên nó rất hiệu quả.
Trước tiên, để sử dụng tiện ích của ffmpeg, bạn phải mở CMD lên. Vì chúng ta đã cài đặt biến môi trường cho phần mềm nên bạn có thể mở CMD lên ở mọi thư mục và sử dụng FFmpeg. Để mở CMD ở một thư mục, bạn nhấn Shift, đồng thời nhấn chuột phải, rồi chọn Open command window here. Lúc này, bạn có thể sử dụng FFmpeg để xử lý audio, video được rồi.
Một chú ý nhỏ trước khi bắt đầu đó là: các ảnh, audio và video có thể có nhiều định dạng khác nhau. Tuy nhiên, sau đây mình sẽ chỉ ví dụ mặc định với ảnh .png, audio .mp3 và video .mp4
Code FFmpeg hiển thị thông tin của file
ffmpeg -i test.mp4
Code FFmpeg chuyển đổi ảnh thành video
ffmpeg -f image2 -i img%d.png video.mp4
Trong đó, img%d.png là tất cả những ảnh đầu vào của bạn trong thư mục hiện tại và video.mp4 là tên video đầu ra. Ví dụ: bạn có các bức ảnh img1.png, img2.png,...,img100.png (định dạng có thể là png hoặc jpg,...) và bạn muốn tập hợp lại thành video có tên là video.mp4 (có thể là định dạng khác như .avi, .mpg,...). Thực tế thì chức năng này chỉ có ích khi bạn có rất nhiều bức ảnh là tập hợp các Frame của video. Và dĩ nhiên video này sẽ không có âm thanh.
Code FFmpeg chuyển đổi video thành ảnh
ffmpeg -i video.mp4 image%d.png
Ở đây, đầu vào là file video có tên là video.mp4 và đầu ra là các ảnh có tên dạng image%d.png (image1.png, image2.png, image3.png,...)
Code FFmpeg tách âm thanh từ video và lưu lại thành file mp3
ffmpeg -i video.mp4 -vn -ar 44100 -ac 2 -ab 192k -f mp3 sound.mp3
Trong đó:
Code FFmpeg chuyển đổi định dạng video
ffmpeg -i video_input.xxx video_output.yyy
Trong đó:
Ví dụ, mình muốn chuyển từ định dạng flv sang mp4, thì câu lệnh sẽ là:
ffmpeg -i video_input.flv video_output.mp4
Code FFmpeg chuyển video thành ảnh động .gif
ffmpeg -i video.mp4 gif_anime.gif
Trong đó:
Code FFmpeg trộn video với một file âm thanh
ffmpeg -i sound.mp3 -i video_input.mp4 video_output.mp4
Trong đó:
Chú ý là: độ dài video đầu ra sẽ là độ dài lớn hơn của một trong hai cái đầu vào.
Code FFmpeg tăng - giảm tốc độ video
ffmpeg -i video.mp4 -vf "setpts=0.5*PTS" highspeed.mp4
Trong đó:
setpts=0.5\*PTS
giúp tăng tốc video lên gấp 2 lầnNếu muốn giảm tốc độ đi 2 lần thì chỉ cần thay đổi thành:
ffmpeg -i video.mp4 -vf "setpts=2*PTS" highspeed.mp4
Còn muốn tốc độ khác thì bạn tự suy luận ra nhé.
Code FFmpeg thêm ảnh vào audio và xuất bản thành video
ffmpeg -loop 1 -i image.png -i sound.mp3 -c:v libx264 -c:a aac -strict experimental -b:a 192k -shortest output.mp4
Trong đó:
Code FFmpeg thêm phụ đề cho video
ffmpeg -i video.mp4 -i subtitles.srt -map 0 -map 1 -c copy -c:v libx264 -crf 23 -preset veryfast video-output.mp4
Trong đó:
Code FFmpeg cắt lấy một phần nhỏ của video
ffmpeg -i video.mp4 -ss 00:00:50.0 -codec copy -t 20 output.mp4
Trong đó:
Code FFmpeg chia video ra thành nhiều phần
ffmpeg -i video.mp4 -t 00:00:50 -c copy small-1.mp4 -ss 00:00:50 -codec copy small-2.mp4
Trong đó:
Code FFmpeg ghép video từ những video nhỏ
ffmpeg -f concat -i file-list.txt -c copy output.mp4
Trong đó:
file 'small-1.mp4'
file 'small-2.mp4'
Code FFmpeg tắt âm thanh của video
ffmpeg -i video.mp4 -an mute-video.mp4
Trong đó:
Dùng để chạy, phát video. Câu lệnh đơn giản là:
ffplay dir/video.mp4
Trong đó:
Trên đây là những gì mình tìm hiểu được về FFmpeg và những công cụ của nó ffpmeg, ffplay. Những câu lệnh trên đây mới chỉ là những câu lệnh đơn giản. Để tìm hiểu sâu hơn, bạn có thể vào trang chủ của ffmpeg, tại đây.
Hy vọng, bài viết trên đây có thể giúp ích cho bạn. Nếu có gì thắc mắc bạn có thể để lại comment phía dưới hoặc gửi lại email cho mình.
Xin chào và hẹn gặp bạn ở bài viết tiếp theo, thân ái!
FFmpeg là hoàn toàn miễn phí, mã nguồn mở. Do đó bạn hoàn toàn yên tâm sử dụng nó ở bất kì đầu mà không sợ vi phạm bản quyền. Sử dụng FFmpeg để xử lý audio, video - nghĩa là bạn phải sử dụng dòng lệnh thông qua Command line (cmd). Nếu bạn cảm thấy m…
Google Drive và Onedrive đều là hai dịch vụ lưu trữ đám mây phổ biến và được nhiều người sử dụng hiện nay. Nếu bạn đang sử dụng cả hai dịch vụ ngày mà vì một số lý do mà bạn muốn chuyển dữ liệu từ tài khoản Google Drive sang tài khoản OneDrive nhưng…
heloo xin chào mọi người nha, nay thì mình xin chia sẽ cho một người một cái tool chuyển file mega sang google drive không giới hạn download trong ngày nhé. Share tool conver file Mega to Google Drive không giới hạn Tác dụng khi conver file sang g…
Bạn có một file dung lượng lớn muốn tải trong thời gian nhanh nhất? Chỉ cần thủ thuật nhỏ với Google Colab sẽ giúp bạn vô cùng hiệu quả. và sau đây là bài viết mà mình sẽ hướng dẫn mọi người download file nha…