รูปแบบที่ดีที่สุดที่เกิดขึ้นจริงและไม่สูญเสียทางคณิตศาสตร์ที่ฉันรู้จักคือ huffyuv แต่นั่นจะสร้างไฟล์ขนาดใหญ่อย่างสนุกสนานและจะไม่เข้ากันได้มากนัก สำหรับเร็กคอร์ด ffmpeg สามารถทำได้ด้วย:
ffmpeg -i input -c:v huffyuv -c:a libmp3lame -b:a 320k output.avi
X264 โปรแกรมเข้ารหัส h.264 แบบโอเพ่นซอร์สมีโหมดแบบไม่สูญเสีย สิ่งนี้สามารถเข้าไปในคอนเทนเนอร์ MP4 ได้และควรเข้ากันได้กับฮาร์ดแวร์ส่วนใหญ่ที่ผลิตในช่วงไม่กี่ปีที่ผ่านมา คำสั่งแรกจะให้ความเร็วการเข้ารหัสที่รวดเร็ว แต่ไฟล์ขนาดใหญ่ คำสั่งที่สองจะใช้เวลานานกว่านี้มาก แต่ไฟล์ควรมีขนาดประมาณครึ่งหนึ่งของการเข้ารหัสที่รวดเร็ว (มันจะยังคงค่อนข้างใหญ่):
ffmpeg -i input -c:v libx264 -crf 0 -preset ultrafast -c:a libmp3lame -b:a 320k output.mp4
ffmpeg -i input -c:v libx264 -crf 0 -preset veryslow -c:a libmp3lame -b:a 320k output.mp4
หากไม่ได้ให้ไฟล์ขนาดเล็กพอให้คุณ crf เท่ากับ 18 โดยทั่วไปถือว่าเป็น 'สูญเสียการมองเห็น':
ffmpeg -i input -c:v libx264 -crf 18 -preset veryfast -c:a libmp3lame -b:a 320k output.mp4
โดยทั่วไปฉันแนะนำให้ตั้งค่าล่วงหน้าที่เร็วมากสำหรับการเข้ารหัสด้วย x264 จากประสบการณ์ของฉันมันให้การแลกเปลี่ยนความเร็ว / ขนาดที่ดีที่สุด คำแนะนำทั่วไปคือการใช้ค่าที่ตั้งล่วงหน้าที่ช้าที่สุดที่คุณสามารถจัดการได้ค่าที่ตั้งล่วงหน้าคือ: เร็วมากเร็วสุดเร็วมากเร็วเร็วปานกลางช้าช้าช้ามาก
ดูที่นี่สำหรับคำแนะนำเพิ่มเติมในเชิงลึกเกี่ยวกับการเข้ารหัส x264