Найкращий фактичний, математично збитковий формат, про який я знаю, - це 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, на мій досвід, він пропонує найкращу швидкість / розмір компромісу (є великий перепад розміру файлу між надшвидким та дуже швидким, будь-який повільніше, ніж це, і він є більш поступовим). Загальна порада - використовувати найповільніші налаштування, якими ви можете скористатися, такі пресети: надшвидкий, надшвидкий, дуже швидкий, швидкий, швидкий, швидкий, середній, повільний, повільніший, вейслоlow.
Дивіться тут для більш глибокого посібника з кодування x264.