หลังจากพัฒนามานานกว่าหนึ่งปี ระบบตัดต่อวิดีโอแบบไม่เชิงเส้นฟรี OpenShot 3.0.0 ก็ได้เปิดตัวแล้ว รหัสโครงการจัดทำภายใต้ใบอนุญาต GPLv3: อินเทอร์เฟซเขียนด้วย Python และ PyQt5 แกนประมวลผลวิดีโอ (libopenshot) เขียนด้วยภาษา C ++ และใช้ความสามารถของแพ็คเกจ FFmpeg ไทม์ไลน์เชิงโต้ตอบเขียนโดยใช้ HTML5, JavaScript และ AngularJS . แอสเซมบลีสำเร็จรูปเตรียมไว้สำหรับ Linux (AppImage), Windows และ macOS
โปรแกรมแก้ไขมีส่วนต่อประสานกับผู้ใช้ที่สะดวกและใช้งานง่ายซึ่งแม้แต่ผู้ใช้มือใหม่ก็สามารถแก้ไขวิดีโอได้ โปรแกรมรองรับเอฟเฟ็กต์ภาพหลายสิบแบบ ทำให้สามารถทำงานกับไทม์ไลน์แบบหลายแทร็กได้ด้วยความสามารถในการย้ายองค์ประกอบระหว่างองค์ประกอบเหล่านั้นด้วยเมาส์ ช่วยให้คุณสามารถปรับขนาด ครอบตัด รวมบล็อกวิดีโอ รับรองการไหลที่ราบรื่นจากวิดีโอหนึ่งไปยังอีกวิดีโอหนึ่ง , ซ้อนทับพื้นที่โปร่งแสง ฯลฯ สามารถแปลงรหัสวิดีโอพร้อมดูตัวอย่างการเปลี่ยนแปลงได้ทันที ด้วยการใช้ประโยชน์จากไลบรารีของโปรเจ็กต์ FFmpeg ทำให้ OpenShot รองรับรูปแบบวิดีโอ เสียง และรูปภาพจำนวนมาก (รวมถึงการรองรับ SVG เต็มรูปแบบ)

การเปลี่ยนแปลงที่สำคัญ:
- ปรับปรุงประสิทธิภาพการเล่นวิดีโอเมื่อดูตัวอย่างแบบเรียลไทม์ ปัญหาเกี่ยวกับการค้างในการเล่นได้รับการแก้ไขแล้ว เอ็นจิ้นการถอดรหัสวิดีโอได้รับการออกแบบใหม่ โดยมีการเปลี่ยนสถาปัตยกรรมเพื่อให้ทำงานได้อย่างถูกต้องในสภาวะที่แพ็กเก็ตสูญหายหรือการประทับเวลาหายไป ปรับปรุงความเข้ากันได้กับรูปแบบและตัวแปลงสัญญาณต่างๆ รวมถึงตัวแปลงสัญญาณหลายสตรีม เช่น AV1 ปรับปรุงการตรวจจับระยะเวลาการเล่นและการสิ้นสุดไฟล์ในสภาวะที่ไม่มีการประทับเวลา ข้อมูลเมตาที่ไม่ถูกต้อง และการเข้ารหัสที่มีปัญหา
- ระบบแคชวิดีโอได้รับการออกแบบใหม่ สำหรับการแคช จะใช้เธรดพื้นหลังแยกต่างหาก ซึ่งจะเตรียมเฟรมที่อาจจำเป็นในระหว่างการเล่นต่อไปในเชิงรุก ดำเนินการรองรับการทำงานของแคชด้วยความเร็วการเล่นที่แตกต่างกัน (1X, 2X, 4X) และการเล่นในทิศทางตรงกันข้าม การตั้งค่านี้มีตัวเลือกการจัดการแคชใหม่ รวมถึงความสามารถในการล้างแคชทั้งหมด
- ไทม์ไลน์ได้รับการปรับปรุงความแม่นยำในการสแนปอย่างมากเมื่อตัดแต่งและย้ายคลิปและเอฟเฟกต์การเปลี่ยนภาพ การกดปุ่ม Shift ค้างไว้จะทำให้ส่วนหัวของตัวควบคุมการเล่นอยู่ในแนวเดียวกับขอบของคลิป มีการเร่งการทำงานของคลิปตัด ไอคอนคีย์เฟรมได้รับการออกแบบใหม่เพื่อให้สามารถคลิก กรอง และใช้เพื่อเปลี่ยนโหมดการแก้ไขได้ เอฟเฟ็กต์วิดีโอแต่ละรายการบนมาตราส่วนจะมีสีของตัวเอง และเอฟเฟ็กต์การเปลี่ยนแต่ละอันจะมีทิศทางของตัวเอง (จางลงและปรากฏ)

- เครื่องมือสำหรับการทำงานกับคลื่นเสียงได้รับการขยายและปรับให้เหมาะสม เปิดใช้งานการแคชข้อมูลคลื่นเสียงที่เกี่ยวข้องกับไฟล์และการบันทึกแคชภายในโปรเจ็กต์ ซึ่งช่วยให้แคชเป็นอิสระจากเซสชันของผู้ใช้ และเพิ่มความเร็วในการเรนเดอร์คลื่นเสียงเมื่อมีการตัดหลายครั้งและเพิ่มไฟล์หนึ่งไฟล์อีกครั้งลงใน ไทม์ไลน์ ความแม่นยำในการจับคู่คลิปกับคลื่นเสียงเพิ่มขึ้น เนื่องจากความสามารถในการปรับขนาดคลิปเป็นเฟรมที่แยกจากกัน
- ลดการใช้หน่วยความจำและลดการรั่วไหลของหน่วยความจำ เป้าหมายหลักของงานที่ทำคือการปรับ OpenShot ให้ทำการเรนเดอร์นานหลายชั่วโมง เช่น เมื่อประมวลผลสตรีมวิดีโอระยะยาวและการบันทึกจากกล้องวงจรปิด เพื่อประเมินการปรับให้เหมาะสม ได้ทำการศึกษาการเข้ารหัสเป็นเวลา 12 ชั่วโมง ซึ่งแสดงให้เห็นถึงความสม่ำเสมอของการใช้หน่วยความจำตลอดเซสชัน
- เพิ่มการรองรับสำหรับการส่งออกภาพเคลื่อนไหว GIF, MP3 (เสียงเท่านั้น), YouTube 2K, YouTube 4K และ MKV ปรับปรุงการรองรับโปรไฟล์วิดีโออะนามอร์ฟิก (วิดีโอที่มีพิกเซลที่ไม่ใช่สี่เหลี่ยมจัตุรัส)
- เพิ่มความสามารถในการส่งออกคลิปในโหมดแบตช์ ซึ่งไฟล์จะถูกแบ่งออกเป็นชุดของคลิป หลังจากนั้นคลิปทั้งหมดเหล่านี้จะถูกส่งออกพร้อมกันโดยใช้โปรไฟล์และรูปแบบดั้งเดิม ตัวอย่างเช่น ตอนนี้คุณสามารถตัดส่วนที่มีไฮไลท์จากโฮมวิดีโอและส่งออกส่วนเหล่านี้พร้อมกันในรูปแบบของไฟล์วิดีโอแยกกัน
- เทมเพลตแอนิเมชั่นได้รับการปรับให้ใช้กับระบบการสร้างแบบจำลอง 3 มิติของ Blender 3.3
- เพิ่มการตั้งค่าใหม่ที่กำหนดลักษณะการทำงานเมื่อเลือกเส้นทางไฟล์สำหรับการนำเข้า เปิด/บันทึก และส่งออก ตัวอย่างเช่น เมื่อบันทึก คุณสามารถใช้ไดเร็กทอรีโปรเจ็กต์หรือไดเร็กทอรีที่ใช้ล่าสุดได้
- ตรวจสอบให้แน่ใจว่าการเรียงลำดับข้อมูลตามตัวอักษรในภาษาอื่นที่ไม่ใช่ภาษาอังกฤษถูกต้อง
- มีการรองรับหน้าจอความหนาแน่นของพิกเซลสูง (High DPI) อย่างเต็มรูปแบบ รวมถึงจอภาพความละเอียด 4K ไอคอน เคอร์เซอร์ และโลโก้ทั้งหมดจะถูกแปลงเป็นรูปแบบเวกเตอร์หรือบันทึกด้วยความละเอียดสูง อัลกอริธึมสำหรับการเลือกขนาดของวิดเจ็ตได้รับการออกแบบใหม่ โดยคำนึงถึงพารามิเตอร์หน้าจอ
- เอกสารประกอบได้รับการอัปเดตเพื่อให้สะท้อนถึงสถานะปัจจุบันของโครงการ
- มีการทำงานหลายอย่างเพื่อขจัดปัญหาที่นำไปสู่การล่มและส่งผลกระทบต่อเสถียรภาพ เหนือสิ่งอื่นใด การทดสอบหน่วยถูกนำมาใช้เพื่อตรวจสอบคุณภาพของการประมวลผลแบบมัลติเธรด ตรวจจับสภาพการแข่งขัน และปัญหาการล็อคเมื่ออัปเดตไทม์ไลน์และแคชการเล่นวิดีโอ

ที่มา: opennet.ru

