Сжатие с потерями — это метод сжатия данных, который уменьшает размер файла путем окончательного удаления определенной информации, которая считается менее важной или менее заметной для человеческого глаза или уха. Этот тип сжатия обычно используется для мультимедийных файлов, таких как изображения, аудио и видео.
Вот несколько методов сжатия с потерями и примеры кода:
-
Сжатие JPEG (изображение):
-
Пример кода на Python с использованием библиотеки Pillow:
from PIL import Image def compress_image(input_image_path, output_image_path, quality): with Image.open(input_image_path) as image: image.save(output_image_path, "JPEG", quality=quality) compress_image("input.jpg", "output.jpg", quality=80)
-
-
Сжатие MP3 (аудио):
-
Пример кода на Python с использованием библиотеки pydub:
from pydub import AudioSegment def compress_audio(input_audio_path, output_audio_path, bitrate): audio = AudioSegment.from_file(input_audio_path) audio.export(output_audio_path, format="mp3", bitrate=bitrate) compress_audio("input.wav", "output.mp3", bitrate="64k")
-
-
Сжатие H.264 (видео):
-
Пример кода в инструменте командной строки FFmpeg:
ffmpeg -i input.mp4 -c:v libx264 -crf 23 -c:a copy output.mp4
-
Это всего лишь несколько примеров методов сжатия с потерями. В разных областях используются и другие алгоритмы и методы.