나는 후속 조치를 취하고 있다
재생 속도를 높이다
https://trac.ffmpeg.org/wiki/How%20to%20speed%20up%20/%20slow%20down%20a%20video
그러나 재생 속도를 1.5배 높이면 비디오 크기가 동일/대략 동일한 수준으로 줄어들 것으로 예상했지만 결과는 다음과 같습니다.
-rwxrwxr-x 1 me me 10000000 2021-10-10 16:56 original_video.mp4*
-rwxrwxr-x 1 me me 10060896 2022-01-02 16:27 speed_up_output.mkv*
즉, 파일 크기가 더 커집니다.
재생 속도를 높이고 비디오 크기를 어느 정도 줄일 수 있습니까?
답변1
해당 링크에 언급된 대부분의 명령이 변경됩니다.재생속도. 프레임 수를 줄이기 위해 반드시 재생 속도를 변경할 필요는 없습니다.
보간 필터를 사용하면 프레임 수를 줄일 수 있지만 이는 상당히 손실이 큰 프로세스입니다.
한 프레임씩 제거할 수 있지만 대부분의 사람들은 프레임 속도가 24fps 미만임을 알 수 있습니다.
프레임 수를 줄이면 데이터 양이 줄어듭니다. ~을 위한압축되지 않은비디오에서는 선형 상관관계를 기대할 수 있습니다. 이 기사몇 가지 예가 포함되어 있습니다. x-tics가 고르게 분포되지 않았기 때문에 이러한 그래프는 끔찍합니다.
대부분의 최종 사용자 시나리오에서는압축비디오를 사용하세요. H264는 널리 사용되는 압축기입니다. 일명 차동을 사용합니다.예상되는액자. 삭제된 프레임은 광학 흐름 감지를 방해하고 비디오 압축을 어렵게 만듭니다(프레임당 동일한 품질을 유지하려는 경우). 따라서 프레임 속도를 줄이면 파일 크기가 비선형적으로 줄어듭니다. 관련된:https://superuser.com/questions/283515/video-encoding-how-much-does-the-video-file-size-increase-with-fps
방금 ffmpeg의 데시메이션 필터를 사용하여 이것을 시도했습니다.
ffmpeg -i raw_footage.ts -an -c:v libx264 -crf 21 30fps.mkv
ffmpeg -i 30fps.mkv -filter:v decimate=cycle=2 -c:v libx264 -crf 21 -t 30 15fps.mkv
파일 크기:
- 30fps.mkv 9,4M
- 15fps.mkv 8,2M
감소된 프레임 속도로 인해 비디오가 매우 불안정하고 시청하기 어려울 수 있습니다. 제 생각에는 완전히 도살당했습니다. 그러나 파일 크기는 12%만 줄었습니다. 좋은 거래가 아닙니다.
대부분의 사용 사례에서는 프레임 속도를 유지하고 각 프레임마다 이미지 품질을 낮추는 것이 훨씬 쉽습니다.
ffmpeg -i original_video.mp4 -c:v libx264 -crf 31 -c:a aac -b:a 64k -movflags +faststart output.mp4
crf
퀄리티 있는 구성이에요 숫자가 높을수록 "더 많은 압축"을 의미합니다.
수행 중인 작업에 따라 더 높은 수준으로 전환하세요.윤곽그것도 도움이 될 수 있습니다. 형상 해상도를 낮추는 것도 도움이 됩니다. 가능한 경우 libx265와 같은 더 나은 압축기를 사용할 수 있습니다.