Header Ads

Cài đặt FFmpeg và ghép audio và hình ảnh thành video nhanh nhất

Sau thời gian làm việc với FFmpeg, mình khẳng định rằng FFmpeg là một phần mềm xử lý audio, video đơn giản, miễn phí và hiệu quả nhất. Vì vậy, bài viết này sẽ giúp bạn tìm hiểu FFmpeg cơ bản - FFmpeg là gì, cách tải FFmpeg, cài đặt FFmpeg, một số FFmpeg code hay FFmpeg command thường dùng.

Tuy nhiên, trước khi bắt đầu đọc bài viết này, mình mong bạn hiểu rõ về vấn đề, đó là:

  • 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ình lười trong việc sử dụng câu lệnh và mong muốn có một giao diện để xử lý audio, video thì mình xin lỗi rằng bài viết này không dành cho bạn. Mình xin cám ơn và hẹn gặp lại bạn ở các bài viết khác.
  • Nếu bạn đọc đến đây thì có nghĩa là bạn tò mò và sẵn sàng sử dụng FFmpeg. Có thể bạn cũng đang hướng tới sự tự do và đơn giản.

Hướng dẫn tải và cài đặt FFmpeg

Tải FFmpeg

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:

  • Nếu bạn là người dùng bình thường thì bạn có thể chỉ cần tải về dạng Static
  • Nếu bạn là lập trình viên và muốn phát triển ứng dụng cho riêng mình thì có thể tải về dạng Shared hoặc Dev

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.

Cài đặt FFmpeg trên Windows 10

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.

Hướng dẫn sử dụng FFmpeg Tools

Để 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.

Công cụ ffmpeg

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

Ý nghĩa một số loại option

  • i : đầu vào input
  • f : định dạng format
  • vn : vô hiệu hóa việc recoding video trong quá trình chuyển đổi
  • ar : cài đặt thông số tần số lấy mẫu của audio (sample rate)
  • ac : cài đặt số kênh (channel) của audio
  • ab : cài đặt audio bitrate
  • vf : cài đặt bộ lọc video (video filter)

Một số câu lệnh FFmpeg thường dùng


Ghép một ảnh tĩnh với file âm thanh .m4a

Lệnh ghép một ảnh tĩnh với file âm thanh .m4a để tạo ra video có kích thước cố định, khung hình mỗi giây là 1, và kết thúc khi âm thanh kết thúc.

Lệnh:

ffmpeg -loop 1 -i your_image.jpg -i audio.m4a -shortest -vf "fps=1,scale=1920:1080" -c:v libx264 -tune stillimage -c:a aac -b:a 192k -pix_fmt yuv420p output_video.mp4

Giải thích:

  • -loop 1: Lặp lại ảnh tĩnh trong suốt thời gian phát âm thanh.
  • -i your_image.jpg: Đầu vào ảnh tĩnh (ảnh nền cho video).
  • -i audio.m4a: Đầu vào âm thanh dạng .m4a.
  • -shortest: Kết thúc video khi file âm thanh ngắn nhất kết thúc (ở đây là khi âm thanh kết thúc).
  • -vf "fps=1,scale=1920:1080":
    • fps=1: Đặt khung hình mỗi giây là 1, phù hợp cho ảnh tĩnh.
    • scale=1920:1080: Đặt kích thước video thành 1920x1080 (hoặc bất kỳ độ phân giải nào bạn muốn).
  • -c:v libx264: Dùng codec H.264 cho video.
  • -tune stillimage: Tối ưu hóa cho ảnh tĩnh (vì bạn không có khung hình động).
  • -c:a aac: Sử dụng codec âm thanh AAC (phù hợp với định dạng video MP4).
  • -b:a 192k: Đặt bitrate cho âm thanh là 192 kbps.
  • -pix_fmt yuv420p: Đặt định dạng pixel của video (yuv420p là định dạng màu phổ biến nhất cho video H.264).

Kết quả:

  • Video MP4 có ảnh tĩnh và âm thanh từ file audio.m4a.
  • Video sẽ có độ phân giải 1920x1080 và 1 khung hình trên giây, thích hợp cho ảnh tĩnh.
  • Khi âm thanh kết thúc, video cũng sẽ kết thúc nhờ -shortest.

Lệnh này sẽ hoạt động tốt nếu mục tiêu của bạn là tạo ra một video từ một ảnh và file âm thanh .m4a.

Nối và convert (đổi đuôi) âm thanh

Nối và convert sang các định dạng âm thanh như WAV, AAC, M4A, OGG, FLAC, hoặc bất kỳ định dạng âm thanh nào mà FFmpeg hỗ trợ.

Khi nối hai file âm thanh và lưu thành định dạng khác, bạn chỉ cần thay đổi đuôi file xuất. Dưới đây là một số ví dụ:

1. Nối và xuất âm thanh thành WAV:

ffmpeg -f concat -safe 0 -i filelist.txt -c copy output_audio.wav

2. Nối và xuất âm thanh thành AAC:

ffmpeg -f concat -safe 0 -i filelist.txt -c copy output_audio.aac

3. Nối và xuất âm thanh thành M4A:

ffmpeg -f concat -safe 0 -i filelist.txt -c copy output_audio.m4a

4. Nối và xuất âm thanh thành OGG:

ffmpeg -f concat -safe 0 -i filelist.txt -c copy output_audio.ogg

5. Nối và xuất âm thanh thành FLAC:

ffmpeg -f concat -safe 0 -i filelist.txt -c copy output_audio.flac

Lưu ý:

  • Khi bạn thay đổi định dạng xuất, FFmpeg sẽ tự động xử lý codec phù hợp với định dạng đó.
  • Một số định dạng yêu cầu mã hóa khác nhau. Nếu cần mã hóa lại file âm thanh khi xuất ra định dạng khác (thay vì chỉ dùng -c copy), bạn có thể thay đổi codec phù hợp bằng cách sử dụng cờ -c:a (codec âm thanh). Ví dụ, sử dụng -c:a aac cho AAC, hoặc -c:a libvorbis cho OGG.

Ví dụ mã hóa AAC:

ffmpeg -f concat -safe 0 -i filelist.txt -c:a aac output_audio.m4a

Ví dụ mã hóa OGG:

ffmpeg -f concat -safe 0 -i filelist.txt -c:a libvorbis output_audio.ogg

Bạn có thể thay thế output_audio.xxx bằng bất kỳ định dạng âm thanh nào mà bạn cần, và FFmpeg sẽ xử lý phù hợp.

No comments

Powered by Blogger.