.mp4 파일을 가장 작게 만드는 아카이브 압축은 무엇입니까?

.mp4 파일을 가장 작게 만드는 아카이브 압축은 무엇입니까?

가장 작은 .mp4 비디오를 만드는 것으로 알려진 아카이브 기반 압축 형식이 있습니까?

제가 아는 유일한 보관 형식을 사용하여 1080p 0:12 길이의 비디오를 테스트했습니다.

(python3) Joshs-MBP:testing_movie mu$ ls -lS
total 12712
-rw-r--r--  1 mu  staff  2145528 Jun  6 09:26 testing.mov
-rw-r--r--  1 mu  staff  1790044 Jun  6 09:26 testing.mov.zip
-rw-r--r--@ 1 mu  staff  1789512 Jun  6 09:25 testing.mov.gz
-rw-r--r--  1 mu  staff   775138 Jun  6 09:26 testing.mov.bz2

bzip2최고인 것 같습니다 . 파일을 더 작게 만드는 측면에서 더 좋은 것이 있습니까? 시간이 많이 걸려도 괜찮습니다.

또한 bzip2디렉토리를 만들 수 없다는 것을 알았습니다.

답변1

첫째, 용어에 대한 사소한 점은 다음과 같습니다. ZIP이 유일한 용어입니다.보관소사용했던 형식입니다. Gzip 및 Bzip2는 아카이브 형식이 아닌 압축 형식입니다. 좀 더 구체적으로 말하자면:

  • 아카이브 형식은 일반적으로 소유권, 타임스탬프 및 기타 데이터와 같은 메타데이터를 포함하여 여러 파일 및/또는 디렉터리를 단일 파일로 집계합니다. Tar는 순수 아카이브 형식의 예이며 고유한 압축을 수행하지 않습니다.

  • 압축 형식은 데이터를 압축할 뿐이며 본질적으로 여러 파일을 하나로 결합하지는 않습니다. Gzip, Bzip2, Brotli, LZ4, LZOP, XZ, PAQ 및 Zstandard는 모두 압축 형식입니다. 그 중 일부(예: Gzip 및 LZ4)는 여러 파일을 압축하고 이를 하나의 파일로 연결한 다음 여러 원본 파일로 압축을 풀 수 있는 기능을 지원할 수 있지만(디렉토리를 gzip으로 압축할 때 발생하는 현상) 저장하지 않습니다. 경로 또는 기타 메타데이터이므로 아카이브 형식이 아닙니다.

ZIP, 7z 또는 RAR과 같은 일부 형식은 보관과 압축을 결합합니다(ZIP은 압축되지 않은 파일도 저장할 수 있지만).

이제 그 문제를 해결하고 주요 질문으로 넘어가겠습니다.

music2myear님의 댓글이 맞습니다. 결과는 사용된 MP4 인코딩의 정확한 세부 사항에 따라 크게 달라집니다. 이는 MP4 자체에 데이터 압축이 포함되어 있기 때문입니다. 이 경우 인식 품질을 크게 낮추지 않고 오디오 및 비디오 데이터를 압축하는 데 최적화되어 있습니다. 이를 위해 사용하는 프로세스는 실제로 다소 복잡하지만(여기서 설명하기에는 너무 복잡함) 인지 품질을 낮추지 않는다는 제약과 단일 긴 압축 대신 프레임별로 압축한다는 사실과 결합되어 있습니다. 스트리밍의 경우 때로는 상당한 개선의 여지가 있습니다(테스트에서 볼 수 있듯이).

이제 추가 세부 정보 없이는 결론적인 답변을 드릴 수 없지만 파일 압축에 대한 몇 가지 일반적인 조언은 드릴 수 있습니다.

  • ZIP과 Gzip은 동일한 압축 알고리즘의 변형, 특히 DEFLATE로 알려진 LZW 알고리즘의 파생물을 사용하기 때문에 이 경우 매우 유사한 결과를 보여줍니다. DEFLATE는 특별히 뛰어난 압축 알고리즘은 아니지만 널리 사용되므로(하드웨어 구현도 있음) 종종 비교 표준으로 사용됩니다. 다른 파일 형식(예: ZIP)의 구성 요소로 사용되는 것 외에는 더 이상 저장용으로 널리 사용되지 않습니다. DEFLATE(또는 일반적으로 LZW)를 기반으로 하는 거의 모든 것은 압축 알고리즘을 비교할 때 어떤 면에서도 승리하지 못할 것입니다.

  • 대조적으로 Bzip2는 데이터를 보다 효율적으로 압축하기 위해 데이터에 대해 몇 가지 복잡한 변환을 수행한 다음 실제 압축에 허프만 코딩을 사용합니다. 대부분의 경우 DEFLATE 기반 압축기보다 압축률이 좋지만 DEFLATE보다 속도도 느립니다. 허프만 코딩 이전에 입력 데이터를 변환하는 방법에 대한 몇 가지 가정으로 인해 입력 데이터가 구조화되는 방식에 대해 다른 많은 옵션보다 다소 더 민감합니다.

  • XZ는 LZMA라는 다른 알고리즘을 사용합니다. DEFLATE가 파생된 LZW 알고리즘과 마찬가지로 LZMA는 궁극적으로 LZ77이라는 알고리즘에서 파생되지만 DEFLATE 기반 옵션보다 훨씬 더 나은 압축 비율을 얻고 대부분의 경우 Bzip2보다 훨씬 더 나은 비율을 얻습니다. LZMA 외에도 다른 옵션보다 실행 파일을 압축하는 데 약간 더 나은 몇 가지 변환을 수행합니다. 그러나 이에 대한 비용은 데이터를 압축하는 데 오랜 시간이 걸린다는 것입니다. 7zip도 LZMA를 사용하지만 데이터 변환이 없기 때문에 비율 측면에서 XZ만큼 좋지 않은 경우가 많습니다.

  • LZOP는 LZO 알고리즘을 사용하며 일반적으로 DEFLATE보다 압축률이 낮지만 훨씬 빠르게 작동합니다. Gzip과 마찬가지로 사람들은 더 나은 압축률이나 더 나은 성능을 제공하는 대안을 선호하는 경향이 있기 때문에 더 이상 널리 사용되지 않습니다.

  • LZ4는 Google에서 개발한 최신 표준으로 엄청나게 빠르게 실행되지만(압축 해제를 위한 메모리 대역폭 속도에 가까움) LZO보다 압축률이 훨씬 나쁩니다. LZO를 사용하는 대부분의 제품이 속도를 위해 LZO를 사용했기 때문에 LZO는 천천히 LZO를 대체해 왔습니다.

  • Brotli는 Google의 또 다른 새로운 제품입니다. 이는 HTTP/2 표준의 일부이며 특히 스트리밍에 최적화되어 있으며 실제로 DEFLATE 기반 옵션보다 더 나은 압축 비율과 성능을 모두 얻을 수 있습니다. 그러나 일반 파일 압축에는 널리 지원되지 않으므로 사용하기에 적합한 옵션이 아닐 수 있습니다.

  • PAQ는 압축률 최대화에 대해 정말로 걱정하는 사람들을 위한 것입니다. 이는 완전히 미친 압축 비율을 달성하기 위해 통계 모델의 복잡한 조합을 사용합니다(원본 데이터에 따라 PAQ로 압축된 파일이1/10 미만원래 크기의 반면 DEFLATE의 평균은 1/2에 가깝습니다. 물론 이 비용은 압축하는 데 엄청나게 오랜 시간이 걸린다는 것입니다.아무것PAQ와 함께. 높은 압축 설정을 사용하면 PAQ로 해당 샘플 비디오를 압축하는 데 최소 30분이 걸릴 수 있습니다. 시간이 많이 걸리기 때문에 PAQ를 사용하는 사람은 거의 없으며, 보관 목적 이외의 용도로 PAQ를 거의 사용하지 않는 소수의 사람들도 있습니다(즉, 변경할 가능성이 없는 파일에만 사용합니다).

  • Zstandard는 가장 최신 버전이며 Facebook에서 개발했습니다. 이전 방법과 최신 방법(일부 기계 학습 기술 포함)을 혼합하여 bzip2와 비슷하거나 더 나은(때로는 XZ보다 더 나은) 압축 비율을 달성하는 동시에 내가 나열한 대부분의 다른 방법보다 훨씬 빠르게 실행됩니다. LZ4를 제외하고. 아마도 귀하의 사용 측면에서 XZ를 능가하지는 못할 것입니다(그리고 확실히 PAQ를 능가하지도 않을 것입니다). 그러나 훨씬 더 나은 성능이 그만한 가치가 있을 만큼 충분히 좋은 비율을 얻을 수 있습니다.

관련 정보