3 điểm bởi GN⁺ 2026-03-19 | 1 bình luận | Chia sẻ qua WhatsApp
  • Đây là một framework đa phương tiện đa nền tảng có thể ghi, chuyển đổi và phát trực tuyến âm thanh và video; phiên bản mới nhất 8.1 “Hoare” đã được phát hành
  • Phiên bản này hỗ trợ giải mã xHE-AAC Mps212 và MPEG-H, phân tích metadata EXIF, xử lý metadata LCEVC
  • Các tính năng tăng tốc GPU được cải thiện, bao gồm mã hóa/giải mã ProRes dựa trên Vulkan, mã hóa H.264·AV1 bằng D3D12, mã hóa phần cứng H.264/HEVC trên Rockchip
  • Bổ sung các định dạng và bộ lọc mới như phần tử âm thanh ambisonic IAMF, demuxer hxvs, bộ lọc drawvg·vpp_amf
  • Bao gồm cải tiến cấu trúc nội bộ và sửa lỗi; đồng thời chuẩn bị cho việc viết lại swscaletăng tốc độ khởi tạo nhờ loại bỏ phụ thuộc runtime vào GLSL

Các cập nhật chính trong FFmpeg 8.1 "Hoare"

  • Phiên bản mới là một bản phát hành phụ (minor release) và hiện đã có thể tải xuống
  • Bộ giải mã: hỗ trợ xHE-AAC Mps212 (thử nghiệm), MPEG-H (sử dụng libmpeghdec)
  • Metadata: bổ sung tính năng phân tích EXIF
  • LCEVC: hỗ trợ phân tích và truyền metadata
  • Codec dựa trên Vulkan: hỗ trợ mã hóa·giải mã ProRes, giải mã DPX
  • Tăng tốc D3D12: bổ sung mã hóa H.264/AV1, các bộ lọc scale_d3d12, mestimate_d3d12, deinterlace_d3d12
  • Mã hóa phần cứng Rockchip: hỗ trợ H.264 và HEVC
  • IAMF: hỗ trợ ghép kênh·tách kênh cho Projection mode Ambisonic Audio Elements
  • Định dạng và bộ lọc: bổ sung demuxer hxvs, bộ lọc drawvg và vpp_amf

Cải tiến nội bộ và nâng cao hiệu năng

  • Bao gồm nhiều thay đổi trong mã nội bộ và sửa lỗi
  • Công việc nền tảng cho việc viết lại swscale đang được tiến hành
  • Các codec dựa trên Vulkan và một số bộ lọc đã loại bỏ phụ thuộc vào biên dịch GLSL tại runtime, giúp tăng tốc độ khởi tạo

Về các codec dựa trên Vulkan Compute

  • Chi tiết kỹ thuật và kế hoạch tương lai cho phần triển khai codec dựa trên Vulkan Compute đã được đăng trên blog Khronos

Khuyến nghị nâng cấp

  • Người dùng, nhà phân phối, nhà tích hợp hệ thống được khuyến nghị nâng cấp lên phiên bản mới nhất
  • Tuy nhiên, trường hợp đang sử dụng phiên bản git master hiện tại thì được loại trừ

1 bình luận

 
GN⁺ 2026-03-19
Ý kiến trên Hacker News
  • Đây là một trong những công cụ mã nguồn mở tốt nhất mà tôi dùng thường xuyên
    Mỗi tuần tôi đều dùng nó cùng với Plex, Jellyfin, Tunarr, các tệp nhạc cục bộ, v.v. để trích xuất phụ đề, cắt video, chuyển đổi định dạng nhạc, xóa track âm thanh và nhiều việc khác
    Chợt nhận ra là mình chưa từng quyên góp lần nào, nên giờ thấy cần phải thay đổi điều đó

    • Công cụ này hiện diện như một thành phần nền tảng trong vô số phần mềm mà chúng ta không hề nhận ra
  • Tôi đã thấy một tình huống kiểu meme như: “ffmpeg bản mới ra rồi, phải build ngay thôi… không, không đợi được, cứ tải binary vậy”
    Video liên quan

    • Tôi thường build trực tiếp từ source. Trình quản lý gói thường không có hỗ trợ cho các codec bị ràng buộc bằng sáng chế
    • Việc build ffmpeg có thể đơn giản hoặc phức tạp tùy cấu hình. Hiện tôi đang làm một cross-platform builder trên GitHub Actions, nhưng các bản build cho Mac và Windows ngốn quá nhiều thời gian
      Tôi đang tham khảo dự án ffmpeg-builder và dùng nó như một phần của ứng dụng dành cho kỹ sư video
    • Gần đây vì một CVE nên tôi phải tự build, nhưng thất bại, nên cuối cùng chỉ bọc ffmpeg lại và chèn lệnh phiên bản để qua được trình quét
    • Nếu đã quen với ffmpeg thì rất đáng xem video trên. Có nhiều nội dung rất thực tế như yadif, mkvtoolnix, và các vấn đề hay vỡ khi tên tệp có dấu nháy đơn
    • Thực ra build ffmpeg từ source khá dễ. Cái khó là phần cấu hình codec cần thiết
      Chỉ cần biết rõ codec audio/video cần gì và cài đặt đúng thì việc build khá đơn giản
      Tôi đã làm như vậy hơn 10 năm nay, cấu hình để hỗ trợ nhiều codec khác nhau nhằm dùng với mpv. Cá nhân tôi thích mpv hơn vlc
  • Đây là tóm tắt changelog của bản phát hành này
    Nhiều tính năng đã được thêm vào như tùy chọn ffprobe -codec, phân tích metadata EXIF, capture dựa trên Windows.Graphics.Capture, giải mã âm thanh MPEG-H 3D, encoder H.264/AV1 dựa trên D3D12, tăng tốc phần cứng Vulkan (ProRes, DPX, v.v.), hỗ trợ JPEG-XS, bộ lọc metadata LCEVC, v.v.

    • Hôm nay tôi mới biết đến codec JPEG XS. Nó cung cấp chất lượng không mất dữ liệu về mặt thị giác và toán học với độ trễ thấp
      Giải thích trên Wikipedia
    • Capture dựa trên Windows.Graphics.Capture cho phép capture cửa sổ độ trễ thấp
      Nhờ tính năng này, việc tạo một lựa chọn thay thế Discord bằng ứng dụng desktop native thay vì dựa trên trình duyệt trở nên hấp dẫn hơn
    • Cũng có người hỏi: “Bạn có phải là người vận hành bản build ffmpeg của gyan.dev không?”
    • Tôi tò mò không biết trong khối tính năng đồ sộ này thì có bao nhiêu phần được viết/gỡ lỗi bằng công cụ AI. Cũng muốn biết họ dùng workflow nào. (Tham khảo thêm, tôi đang đăng ký Claude Code)
  • Khronos đã đăng một bài về Vulkan compute codec của FFmpeg
    Bài blog chính thức

    • Cũng có thread HN trước đó liên quan
    • Tôi tò mò liệu có hướng dẫn hiệu năng nào cho Vulkan compute codec không
  • Hiện tôi đang dùng Claude Code để thêm tính năng chuyển văn bản hai chiều thành phụ đề bitmap
    Liên kết dự án
    Đây thực sự là một công việc rất thú vị

  • Giờ tôi mới biết mỗi bản phát hành FFmpeg đều được gắn tag bằng tên liên quan đến toán học hoặc khoa học máy tính. Khá ngầu

  • Mã hóa phần cứng Rockchip dựa trên rkmpp nên không phải là giải pháp upstream. Có lẽ sẽ cần kernel của Rockchip

    • Dù vậy, trước đây còn phải tự build, nên đến mức này đã là một bước tiến lớn
  • Tôi tò mò không biết bao nhiêu phần code trong bản phát hành này được viết bởi nhân viên các tập đoàn lớn

    • Tôi không biết chính xác, nhưng gần như mọi công ty công nghệ lớn đều dùng ffmpeg cho media transcoding
  • FFmpeg rất tuyệt, nhưng cách dùng quá phức tạp
    Tôi ước gì có một giao diện dạng script đơn giản như avisynth ngày trước
    Giờ việc nhớ các lệnh quá khó, và thật tiếc là đội phát triển có vẻ không quan tâm đến việc đơn giản hóa

    • Ban đầu tôi cũng thấy -filter_complex đáng sợ, nhưng khi tiếp cận theo khái niệm chuỗi bộ lọc thì lại ổn
      Lệnh càng dài thì càng khó debug, nhưng khi đã quen, bạn sẽ dần nhận ra các mẫu lỗi
      Nếu lưu các lệnh hay dùng thành shell script thì sẽ tiện hơn rất nhiều
    • Tôi nghĩ dùng LLM để tìm các tùy chọn lệnh ffmpeg là một trong những ứng dụng hữu ích nhất của nó
    • Nếu chỉ cần mã hóa đơn giản thì Handbrake là một lựa chọn thay thế tốt
    • Tôi giao toàn bộ việc viết lệnh ffmpeg cho AI