- Đâ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 swscale và tă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
Ý 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 đó
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 đ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
yadif, mkvtoolnix, và các vấn đề hay vỡ khi tên tệp có dấu nháy đơnChỉ 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.
Giải thích trên Wikipedia
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
Khronos đã đăng một bài về Vulkan compute codec của FFmpeg
Bài blog chính thức
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
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
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
-filter_complexđáng sợ, nhưng khi tiếp cận theo khái niệm chuỗi bộ lọc thì lại ổnLệ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