Avidemux를 사용하여 비슷한 품질의 H264 비디오를 다시 압축하려면 어떻게 해야 합니까?

Avidemux를 사용하여 비슷한 품질의 H264 비디오를 다시 압축하려면 어떻게 해야 합니까?

내 휴대전화로 촬영한 동영상이 여러 개 있는데 길이를 생각하면 꽤 방대합니다(예: 1920×1080의 3분짜리 동영상은 400MB가 넘습니다).

나는 이것이 휴대전화가 저장 공간보다 배터리 수명과 품질을 선호하기 때문이라고 생각합니다. 따라서 Avidemux를 통해 실행하여 품질을 크게 저하시키지 않으면서 다시 인코딩하고 크기를 줄일 수 있다고 생각합니다. 어느 정도의 저하가 불가피하다는 것을 알고 있습니다. 하지만 압축할 여지가 너무 많기 때문에 많은 것을 피할 수 있어야 한다고 생각합니다.지각할 수 있는하락.

비디오는 MP4 컨테이너의 H264/AAC로 인코딩됩니다. Avidemux에서 오디오를 직접 복사할 수 있습니다. 하지만 비디오 품질을 유지하기 위해 H264 인코더의 대략적인 값을 어떻게 추론합니까? H264 형식은 입력 매개변수에 대한 정보를 유지하지 않는다고 생각합니다. 이득 없이 파일 크기를 완전히 부풀리는 품질 수준을 선택할 수 있으며, 비디오를 형편없게 만드는 품질 수준을 선택할 수도 있습니다. 품질에 큰 영향을 주지 않고 비디오 크기를 줄이는 "최적 지점"을 파악하기 위해 입력을 분석할 수 있는 방법이 있습니까?

나는 이 질문에 어느 정도 주관성이 있다는 것을 알고 있습니다. 어떤 것"인식할 수 있는" 저하로 간주됩니까? 그러나 비디오 인코더는 전통적으로 지각 품질에 따라 매개변수화되어 있는데, 일부 기본 매개변수에 대한 대략적인 범위를 알아내는 것이 가능합니까?

답변1

H264 비디오의 단순화된 인코딩 매개변수 중 일부를 보여주는 여러 가지 명령줄 또는 GUI 도구가 있습니다. ffmpeg또는 mediainfo:

$ mediainfo myvideo.mp4
[... look for the "Video" section ...]
Format profile                           : High@L4
Bit rate                                 : 17.0 Mbps

$ ffprobe -show_streams myvideo.mp4
[... look for a [STREAM] header followed by codec_type=video ...]
profile=High
level=40
bit_rate=16996359

profilelevel(in ffmpeg) 매개변수를 확인하세요 . 비트 전송률에 대해 걱정하지 마십시오. 파일 크기와는 아무런 관련이 없습니다. 나생각하다levelin 의 출력 은 ffmpeg실제 값의 10배입니다(즉, 40레벨 4, 414.1 등을 의미함).

Avidemux를 사용하면 단순화된 설정을 사용할 수 있습니다. 여기서 이러한 설정을 지정하고 Avidemux의 기본값으로 더 미세한 설정을 그대로 둘 수 있습니다.

Avidemux 스크린샷

나는 이것이 해당 설정이라고 생각했습니다.

  • 고급 구성 사용선택 취소되어 있습니다.
  • 프로필높다.
  • IDC 수준4입니다.

더 느린 것을 사용하면프리셋값은 이러한 매개변수 내에서 품질을 어느 정도까지 향상시킵니다.

2패스 인코딩을 사용하여 파일 크기를 더 줄일 수도 있습니다. 합리적인 파일 크기를 예측하는 좋은 방법은 모르지만 1920×1080에 대한 적절한 2패스 평균 비트 전송률은 6~8Mbps입니다. 원본 파일 크기를 타겟팅하지 마세요.또는 비트 전송률: 결국 같은 크기의 파일이 생성됩니다.

내 경우에는 단순히 품질 수준 20(Avidemux의 기본값)에서 단일 패스 인코딩을 수행하면 파일 크기가 절반으로 줄어들었고 Bino와 Kinovea를 사용한 비교에서는 모션 블러 또는 고대비 프레임에서도 차이가 없었습니다. 7Mbps(싱글 패스 인코딩이 나온 방식)에서 2패스 인코딩을 수행하면 40%로 낮아졌습니다.

관련 정보