.MOV 파일의 크기를 줄이기 위해 어떤 매개 변수를 살펴 봐야합니까?


12

내 Canon 60D는 비디오를 녹화 할 때 .MOV 파일을 생성하며 .MOV 컨테이너에 H264 비디오 스트림과 PCM 오디오 스트림이 있음을 알게되었습니다.

나는 ffmpeg와 GSpot을 사용하여 일부 비디오를 보았고 매우 높은 비트 전송률 (640x480의 경우 22,000kbps, 1920x1080의 경우 45,000) 인 것으로 보입니다.

파일 크기를 줄이고 싶지만 품질은 상당히 높습니다. 내가 생각할 수있는 가장 간단한 것으로 비트 레이트를 줄이면서 그 결과를 기대했습니다. 비트 레이트를 반으로 줄이면 파일 크기는 약 절반입니다. 그러나 "양호한"대상 비트 전송률을 결정하는 방법이 있는지 또는 가변 비트 전송률을 시도하는 데 문제가 있는지 궁금합니다.

답변:


21

그러나 "좋은"목표 비트 전송률을 결정하는 방법이 있는지 궁금합니다.

좋은 대상 비트 전송률은 다음 중 하나의 비트 전송률입니다.

  • 자료를 스트리밍하는 네트워크 (예 : 3G 네트워크, 홈 WiFi 등)에서 지원되므로 계산이 매우 쉽습니다.
  • 매우 주관적인 척도 인 당신에게 좋아 보인다

22 Mbit / s 또는 45 Mbit / s는 실제로 일반 사용자, 특히 h.264와 같은 이미 압축 된 비디오의 경우 상당히 높습니다. 감당할 수있는 스토리지 용량과 손실 품질을 항상 고려하여 비트 전송률을 "정상적인"값으로 줄일 수 있습니다.

실제로 크기가 필요하지 않거나 편집 할 처리 기능이없는 경우 1080p 비디오의 크기를 720p로 조정할 수도 있습니다.

… 또는 가변 비트 전송률을 시도 할 시점이있는 경우

일정한 비트 전송률의 포인트는 전송 된 비디오의 최대 비트 전송률을 제한하는 병목 현상이있는 스트리밍 미디어 시나리오에 적응하는 것입니다. 오늘날의 멀티미디어 세계에서 이것이 더 이상 의미가있는 것은 아닙니다.

비디오를 초당 일정한 양의 비트로 압축하면 기본적으로 인코더가 항상 같은 시간의 비트를 사용하여 동일한 시간 프레임을 인코딩하도록 지시합니다. 이것이 최선의 접근입니까? 지금까지 짐작 하셨겠지만 그렇지 않습니다. 수동 브레이크 에서 CRF 가이드 인용 (나중에 다시 설명하겠습니다) :

눈은 움직이고있을 때보 다 정지 된 물체를 더 자세하게 인식합니다. 이로 인해 비디오 컴프레서는 사물이 움직일 때 더 많은 압축을 적용하고 (세부 사항을 더 떨어 뜨릴 수 있음), 사물이 여전히 움직이면 더 적은 압축을 적용 할 수 있습니다 (더 자세하게 유지). 주관적으로 비디오의 품질은 더 좋아 보입니다

따라서 가능할 때마다 가변 비트 전송률을 사용 하는 것이 좋습니다. 일정한 비트 전송률 비디오의 동일한 파일 크기에서도 비디오의 품질이 좋아집니다.

또한 대부분의 인코더 (가장 유명한 x264) 는 일정한 비트 전송률을 사용하도록 지시 할 때 종종 성능 저하됩니다. 프레임에 몇 비트를 쓰고 싶은지에 대해 좀 더 "자유"를 부여하는 것이 좋습니다. 결국, 그것은 당신이 아닌 인코더의 일입니다. 그리고 이것을 "일정한 품질"이라고합니다.


충분합니다 – 실제로 그 의미는 무엇입니까? FFmpeg를 사용하여 비디오를 인코딩하는 경우 이미 충분한 도구를 사용하고있는 것입니다. x264가 설치되어 있고 최신 버전을 사용하는 경우 현재 무료로 제공되는 최고의 인코더 중 하나를 사용하고 있습니다. 고정 된 비트 전송률로 인코딩하는 대신 x264가 지출하고자하는 금액을 선택하도록하십시오. Constant Rate Factor 옵션 을 사용하여이를 수행하십시오 .

매우 간단한 경우에 이것은 17에서 23 사이의 값을 설정하는 것을 의미합니다. 나는 리 멀티플렉싱을위한 더 나은 도구 가 있기 때문에 MOV 대신 출력 컨테이너로 MP4를 선택합니다

ffmpeg -i input.mov -c:v libx264 -crf 22 output.mp4

값이 낮을수록 품질이 좋아지고 출력이 커집니다. 반대로, 높을수록 품질이 떨어집니다. 동시에 필요한 평균 비트 전송률을 줄일 수 있습니다. 에 대한 자세한 내용 은 x264 인코딩 안내서 를 확인하십시오 ffmpeg.

당신의 임무는 이제 다음과 같은 CRF 값을 찾는 것입니다.

  • 전체 비트 전송률을 감당할 수있는 수준으로 줄입니다.
  • 품질이 너무 떨어지지 않아 비디오가 여전히 좋아 보입니다.

예, 여기에는 많은 인코딩 및 시행 착오가 수반되지만 비디오를 조정하고 인코딩 할 때 일상적인 업무입니다.

아, 그리고 명령 행이 마음에 들지 않으면 핸드 브레이크 는 무료로 제공되는 크로스 플랫폼 도구입니다. CRF 슬라이더도 있습니다.

여기에 이미지 설명을 입력하십시오


움직이는 물체의 세부 사항과 관련하여 비디오 압축에서 정기적으로 지나치지 않습니까, 아니면 단순히 나쁜 예를 기억합니까? 카메라가 패닝을 멈 추면 눈에 띄게 세부적으로 증가하는 것처럼
Daniel Beck

이것은 실제로 "안정화"문제로 알려진 매우 일반적입니다. 예를 들어, 뭉개 짐이 사라지는 것을 볼 때. 이는 속도 차이 제어가 적용하기에 동작 차이의 변화가 너무 빠른 저 비트 전송률 시나리오에서 일반적입니다. 나는 2- 패스 인코딩이 여기에 도움이 될 수 있다고 생각할 것입니다. 이런 종류의 인공물을 완전히 제거 할 수 있는지는 모르겠습니다.
slhck

과거에는 핸드 브레이크를 사용하여 DV avis를 비디오 캠에서 DivX 및 mp4로 변환했지만 .mov에서 h264 mp4로 이동하는 옵션을 알아 내려고 할 때 명령 줄을 사용하는 것이 더 쉽다는 것을 알았습니다. DivX를 생성 할 때 -crf에 해당하는 것이 있습니까? (또는 다른 질문이되어야합니까?)
Ward-Reinstate Monica

@Ward 사용할 수 있습니다 -qscale. mpeg *의 경우 스케일은 1-31 (31은 최악의 품질) 범위에서 선형이며 값을 두 배로 늘리면 비트 전송률의 약 절반이됩니다. 2의 값은 대략 시각적으로 손실이없는 것으로 간주 될 수 있습니다. 3-5는 일반적으로 균형이 잘 맞지만 물론 품질은 주관적이므로 시험해 봐야합니다.
llogan

좋은! 몇 가지 질문이 있습니다. (1) "1080p video to 720p"에서 숫자 뒤에 "p"가 무슨 뜻입니까? (2) x264는 가변 비트 전송률을 사용하지만 왜 ffmpeg의 옵션을 Constant Rate Factor라고 하는가? 감사!
Tim

2

HandBrake CLI 사용해보기

MOV 파일을 축소하고 싶었고 비디오 옵션에 대한 모든 세부 사항을 배우지 않았습니다. HandBrake CLI 는 내가 사용한 것입니다. 사전 설정은 훌륭합니다.

HandBrake는 MacGui의 내장 사전 설정과 정확히 동일한 하드 코딩 된 공장 사전 설정 사전 설정을 제공합니다.

제 경우에는 이것이 잘 작동했습니다.

HandBrakeCLI -i input.MOV -o output.mp4 --preset="Normal"

사전 설정이 없으면 출력이 매우 작지만 품질이 좋지 않았습니다. "정상"사전 설정은 나에게는 좋았지 만, 사용 가능한 다른 HandBrakeCLI --preset-list옵션을 보거나 원하는 경우 모든 옵션을 직접 조정할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.