자르기, 크기 조정, 변환, 컴파일(연결), 다시 변환 등과 같은 여러 변경 작업이 필요하기 때문에 비디오를 여러 번 다시 인코딩해야 하는 경우 ffmpeg
인코딩을 사용하는 것이 가장 현명하지 않을까요? ultrafast
마지막 재인코딩까지 모든 재인코딩 도중과 같은 사전 설정을 지정한 다음 slow
또는 veryslow
?
slow
이 작업을 수행하는 것은 시간 전체 를 다시 인코딩하는 것과 똑같습니다 veryslow
. 유일한 차이점은 하나는 내 시간을 낭비하고 다른 하나는 내 시간을 효율적으로 사용한다는 것입니다. 나한테 이런 권리가 있는 걸까?
아니면 이렇게 하면 품질이 떨어지나요?
답변1
당신은 잘못.
모든"빠른" 사전 설정을 사용하여 인코딩하는 단계에서는 느린 사전 설정에서 동일한 패스를 실행하는 것보다 품질이 더 떨어집니다. 각 단계의 손실은 귀하의 방법과 더 느린 사전 설정을 사용한 전체 실행 사이에 약간의 (잠재적으로 상당한) 차이가 있을 정도로 누적됩니다.
문제는 다음과 같이 알려져 있습니다.세대 손실. 각 세대를 낮은 품질(빠른 사전 설정)로 실행하면 세대당 더 많은 데이터가 손실됩니다. 특히 품질 기반 설정을 사용하는 경우 최종 느린 단계에서는 파일 크기가 비슷할 수 있지만 이는 주어진 입력에 더 "충실"하기 위해 더 열심히 노력한다는 의미입니다. 초기 단계에서 발생한 노이즈와 품질 손실을 재현하기 위해 더 열심히 노력하고 있습니다.
여러 단계의 변환을 수행하는 경우 속도와 품질 측면에서 첫 번째 단계에서 압축되지 않은 출력으로 변환하고 압축되지 않은 비디오에 대한 모든 처리를 수행한 다음 최종 압축 단계를 수행하는 것이 훨씬 더 나을 것입니다.
그렇지 않으면 프로그램을 한 번 실행하면서 가능한 한 많은 단계의 비디오 변환을 시도해야 합니다. ffmpeg
자르기, 크기 조정 및 변환을 한 단계로 연결하여 한 단계의 생성 손실만 발생시킬 수 있다고 믿습니다 .
파일 크기가 동일하거나 유사하다는 것은 거의 아무 의미가 없습니다. 이미 이전 실행에서 더 많은 시각적 충실도를 버렸으므로 복구할 수 없습니다.