Я использовал графический интерфейс (щелкните правой кнопкой мыши => сжимать), чтобы попробовать сжать .tar, содержащий 3 видео общим объемом 1,7 ГБ (.H264 MP4s). gzip, lrzip, 7z и т. д. все не влияют на размер файла, а сжатая папка также составляет 1,7 ГБ.
Затем я попытался запустить lrzip из командной строки (на случай, если это была проблема с графическим интерфейсом) и использовал флаг -z (экстремальное сжатие), и это был мой вывод.
Как показывает степень сжатия, фактический размер сжатой папки больше исходного! Я не знаю, почему мне не повезло, в частности, lrzip должен быть эффективен в соответствии с прочитанными мною случайными отзывами и официальными документами (файлы размером более 100 МБ, чем больше, тем лучше) - см . Https: //wiki.archlinux. орг / index.php / Lrzip
Почему я не могу сжать мои файлы?
Ответы:
Как сказано выше в комментарии @pram, видео mp4 уже сжаты, и другие форматы видео, вероятно, также в какой-то степени используют сжатие. Следовательно, попытка сжать их не приведет к незначительному (если вообще будет) уменьшению размера (это также относится, по крайней мере частично, к изображениям и музыке). В этом случае, похоже, что метаданные (для самого сжатого файла) могут быть причиной увеличения. Единственный формат сжатия, который может (и это сильно) может привести к некоторому сокращению, - это xz.
С другой стороны, если вы хотите уменьшить размер этих видео, вместо этого обратите внимание на перекодирование видео, используя что-то вроде ручного тормоза.
источник
Действительно, тот факт, что файлы уже сжаты, не является критической проблемой. Дело в том, что сжатие вообще может работать, только если в данных есть какая-то избыточность . Это практически всегда относится к несжатым файлам, однако не всегда очевидно, что такое избыточность. Алгоритмы сжатия общего назначения в основном нацелены на такие вещи, которые очевидны в текстовых файлах: многие слова встречаются не один раз, а множество раз в одинаковой форме, возможно, можно объединять фразы и т. Д. И т. Д. Алгоритмы довольно хороши обобщая это на что-нибудь от списков телефонных номеров в китайском стихе в кодировке ASCII до двоичного машинного кода, но они не могут работать с любыми данными. В частности, медиа-файлы концептуальноаналоговые данные , в шумном цифровом представлении. Это означает, что на самом деле не существует какого-либо вида избыточности текстового файла: некоторые мотивы могут повторяться, но всегда с немного отличающейся конфигурацией шума датчика. Вот почему во всех форматах сжатых изображений / AV в качестве первого шага кодирования используется какое-то хитро выбранное преобразование, обычно основанное на DCT или вейвлетах . Грубо говоря, эти преобразования перемещают части изображения и части шума в разные места, поэтому они могут быть разделены, и при сжатии с потерями вы сохраняете только ту информацию, которая, по вашему мнению, является наиболее «важной», которая не включает шум, в то время как « хорошая информация "имеет много избыточности. (Это не совсем так, но вроде как.)
Если бы компрессоры общего назначения использовали эти преобразования, эффект был бы противоположным: большая часть цифровой информации фактически была бы ошибочно классифицирована как некоторый шум, потому что ей не хватает «гладкой» структуры, которую вы можете найти в аналоговых сигналах. И после сжатия видео с потерями, очевидно, больше не будет найдено ни аналоговой гладкости, ни цифрового повторения (если бы это было, кодеки использовали бы другой этап bzip или что-то другое!)
источник
Причина, по которой вам не повезло, в том, что mp4 уже сжат, вы не можете сжать его дальше. Все, что вы делаете, это добавляете информацию заголовка формата сжатия в файл.
Поскольку файлы уже сжаты, и вы не можете сжимать их дальше, это приводит к увеличению размера файла, поскольку все, что вы делаете, - это сохраняете ту же информацию и добавляете еще несколько байтов информации заголовка.
источник
Это хороший пример принципа голубя .
Поскольку файл уже (с потерями) сжат, практически нигде не будет никакого сокращения, что означает, что вы уже получаете нулевой чистый выигрыш. Как уже упоминалось, сжатый формат сам по себе имеет определенные, обычно незначительные потери в своих собственных метаданных. Все это в совокупности означает, что, вероятно, в наборе одинаковых или меньших файлов, скорее всего, не осталось ниши, и поэтому ваши сжатые данные попадают в набор более крупных файлов.
источник
Если вы хотите сжать эти файлы, вам придется снизить качество.
Не зная, как долго и в каком формате и типе контента эти файлы, трудно сказать, есть ли у этих файлов место для усадки без видимой потери качества.
BluRays с видео 1080p имеет тенденцию превышать 25 ГБ, так что не исключено, что у вас уже есть оптимальное соотношение качества и размера для H.264.
Вы можете попробовать использовать
ffmpeg
илиavconv
конвертировать файлы.Вы могли бы начать с
ffmpeg -i input_file.mp4 -preset slower -crf 20 -c:a copy output_file.mp4
Команда
anconv
будет работать аналогично.Увеличьте
-crf
значение, чтобы уменьшить размер и качество файла, я не рекомендую больше 25.Вы можете изменить предустановку на
slow
илиmedium
увеличить скорость, но размер вашего файла будет страдать по сравнению сslower
или дажеveryslow
(если вы очень терпеливы!).Дополнительные настройки можно найти здесь: http://mewiki.project357.com/wiki/X264_Settings
Я рекомендую держаться подальше от большинства, так как предустановки обеспечивают нормальные значения по умолчанию,
-tune
за исключением.Попробуйте denoiser, если ваш контент - film (
-vf hqdn3d
), вы можете улучшить визуальное качество по сравнению с использованием высокого-crf
значения.Уменьшите свой контент
-vf scale=-1:720
до 720p и-vf scale=-1:480
480p, чтобы повысить скорость кодирования и сохранить качество.источник