หลังจากสิบเดือนของการพัฒนา ประกาศเปิดตัว FFmpeg 5.0 เวอร์ชันใหม่แล้วซึ่งรวมถึงชุดแอปพลิเคชันและคอลเลกชันของไลบรารีสำหรับการดำเนินการในรูปแบบมัลติมีเดียต่างๆ (การบันทึก การแปลง และการถอดรหัสรูปแบบเสียงและวิดีโอ)
การเปลี่ยนแปลงครั้งสำคัญในหมายเลขเวอร์ชัน เกิดจากการเปลี่ยนแปลง API ที่สำคัญและการเปลี่ยนไปใช้รูปแบบการเปิดตัวใหม่ตามที่จะมีการเปิดตัวครั้งสำคัญใหม่ ๆ ปีละครั้ง และเผยแพร่พร้อมเวลาการสนับสนุนที่ขยายออกไป - ทุกๆสองปี FFmpeg 5.0 จะเป็นเวอร์ชัน LTS แรกของโครงการ
คุณสมบัติใหม่หลักของ FFmpeg 5.0
ในเวอร์ชันใหม่นี้ การล้างข้อมูล API เก่าที่สำคัญสำหรับการเข้ารหัส และการถอดรหัส ตลอดจนการเปลี่ยนไปใช้ N:M API ใหม่ ซึ่งมีอินเทอร์เฟซการเขียนโปรแกรมเดียวสำหรับเสียงและวิดีโอ ตลอดจนตัวแปลงสัญญาณแยกสำหรับสตรีมอินพุตและเอาต์พุต
tambien มีการกล่าวถึงว่า API เก่าที่ทำเครื่องหมายไว้ก่อนหน้านี้ทั้งหมดถูกลบออก เลิกใช้และเพิ่ม API ใหม่สำหรับตัวกรองบิตสตรีม
นอกเหนือจากนั้น, เพิ่มรูปแบบและตัวแปลงสัญญาณแยกต่างหาก: ตัวแยกคอนเทนเนอร์สื่อไม่รวมบริบทตัวถอดรหัสแบบเต็มอีกต่อไป ลบ API สำหรับการลงทะเบียนตัวแปลงสัญญาณและรูปแบบ: ขณะนี้ทุกรูปแบบได้รับการลงทะเบียนเสมอ
เพิ่มแล้ว รองรับสถาปัตยกรรม LoongArch ที่ใช้ในโปรเซสเซอร์ Loongsonรวมถึงการรองรับส่วนขยาย LSX และ LASX SIMD ที่มีให้ใน LoongArch มีการปรับใช้การเพิ่มประสิทธิภาพ LoongArch เฉพาะสำหรับตัวแปลงสัญญาณ H.264, VP8 และ VP9
เพิ่มแล้ว รองรับโปรโตคอล concatfซึ่งกำหนดรูปแบบสำหรับการถ่ายโอนรายการทรัพยากร ("ffplay concatf:split.txt") ยังเพิ่มตัวถอดรหัสใหม่: Speex, MSN Siren, ADPCM IMA Acorn Replay, GEM (บิตแมป), ตัวเข้ารหัสใหม่: บรรจุเป็นบิต, Apple กราฟิก (SMC), ADPCM IMA Westwood, VideoToolbox ProRes มีการเปลี่ยนแปลงการตั้งค่าตัวเข้ารหัส AAC เพื่อให้ได้คุณภาพที่สูงขึ้น
นอกจากนี้ มีการเพิ่มตัวบรรจุหีบห่อสื่อบันทึกด้วย (muxer): Westwood AUD, Argonaut Games CVG, AV1 (Low Overhead Bitstream), เพิ่ม Media Container Unpackers (demuxer): IMF, Argonaut Games CVG
เพิ่ม parser ใหม่สำหรับตัวแปลงสัญญาณเสียง AMR (Adaptive Multi-Rate) และเพิ่ม payload data packer (packer) สำหรับการถ่ายโอนวิดีโอที่ไม่บีบอัดโดยใช้โปรโตคอล RTP (RFC 4175)
สำหรับตัวกรองวิดีโอใหม่:
- ส่วนและส่วน: แบ่งสตรีมด้วยวิดีโอหรือเสียงออกเป็นหลายสตรีมโดยแบ่งตามเวลาหรือเฟรม
- hsvkey และ hsvhold: แทนที่ช่วงสี HSV บางส่วนในวิดีโอด้วยค่าระดับสีเทา
- โลกสีเทา: ใช้อัลกอริธึมตามสมมติฐานโลกสีเทา
- ชาร์: การประยุกต์ใช้โอเปอเรเตอร์ Orb (ตัวแปรของโอเปอเรเตอร์ Sobel ที่มีค่าสัมประสิทธิ์ต่างกัน) กับวิดีโออินพุต
- สัณฐาน: ให้คุณปรับใช้การเปลี่ยนแปลงทางสัณฐานวิทยาต่างๆ กับวิดีโอได้
- ความแอบแฝง: วัดการหน่วงเวลาตัวกรองต่ำสุดและสูงสุดสำหรับตัวกรองที่ใช้ก่อนหน้านี้
- ลิมิตดิฟ: กำหนดความแตกต่างระหว่างสตรีมวิดีโอสองหรือสามรายการ
- สัมพันธ์กัน: คำนวณความสัมพันธ์ข้ามระหว่างสตรีมวิดีโอ
- วาร์เบลอ: วิดีโอเบลอแบบปรับได้พร้อมคำจำกัดความรัศมีการเบลอของวิดีโอที่สอง
- ความอิ่มตัวของกระดูก: ปรับโทนสี ความอิ่มตัว หรือความสดใสให้กับวิดีโอ
- สเปกตรัมสี: สร้างสตรีมวิดีโอด้วยสเปกตรัมสีที่กำหนด
- ลิบเพลสโบ: แอปพลิเคชันสำหรับแสดง HDR shaders จากไลบรารี libplacebo
- vflip_vulkan, hflip_vulkan และ flip_vulkan: เป็นตัวกรองการพลิกวิดีโอในแนวตั้งหรือแนวนอน (vflip, hflip และ flip) ที่ใช้งานโดยใช้ Vulkan graphics API
- yadif_videoกล่องเครื่องมือ: ตัวแปรของตัวกรอง yadif deinterlacing ตามเฟรมเวิร์ก VideoToolbox
ในที่สุด สำหรับผู้ที่สนใจต้องการทราบข้อมูลเพิ่มเติม เกี่ยวกับรุ่นใหม่นี้คุณสามารถตรวจสอบบันทึกการเปลี่ยนแปลงฉบับเต็มได้ ในลิงค์นี้
ในขณะที่ สำหรับผู้ที่ต้องการติดตั้งหรืออัปเดต จาก FFmpeg คุณควรรู้ว่าแพ็คเกจนี้พบได้ในลีนุกซ์ส่วนใหญ่หรือถ้าคุณต้องการคุณสามารถดาวน์โหลดซอร์สโค้ดเพื่อรวบรวม จากลิงค์ด้านล่าง