PNG 프레임용 H.264/MPEG-4: 압축 조정 방법 및 방법

PNG 프레임용 H.264/MPEG-4: 압축 조정 방법 및 방법

나는 종종 reddit, instagram, gfycat 등에 업로드하기 위해 비디오 형식으로 변환해야 하는 .png 형식(최소 압축)의 모든 프레임을 준비하여 디지털 애니메이션을 만듭니다.

저는 다양한 압축 표준에 대해 잘 모르고 이러한 사이트에서는 어떤 형식을 허용하는지 잘 모릅니다. 하지만 일반적으로 나에게 적합한 방법을 찾아 이러한 사이트에서 허용하는 파일을 만들었습니다.

# step 1
mencoder mf://frame*.png -mf w=$WIDTH:h=$HEIGHT:fps=$FPS:type=png \
         -ovc lavc -lavcopts vcodec=msmpeg4v2:vbitrate=16000:keyint=15:mbd=2:trell \
         -oac copy -o step1.avi

# step 2
mencoder step1.avi -o step2.mp4 -of lavf -lavfopts format=mp4 -ovc x264 -sws 9  \
         -x264encopts nocabac:level_idc=30:bframes=0:bitrate=2048:threads=auto:turbo=1:global_header:threads=auto:subq=5:frameref=6:partitions=all:trellis=1:chroma_me:me=umh

하지만 그것이 무엇을 하는지는 잘 모르기 때문에* 다음과 같은 작업을 수행할 수 없습니다.

  • 지시로 삼아

  • 압축 비율을 조정합니다.

사실 저는 일반적으로 덜 압축된 결과를 선호합니다.

PNG 프레임에서 어떤 경로로 이동할 수 있나요?웹 친화적인 비디오 파일(내 생각으로는H.264/MPEG-4 MP4) 이를 통해 압축을 조정할 수 있나요?


* 예: 샘플 프레임워크입니다.

여기에 이미지 설명을 입력하세요. (참고: 솔직히 말해서 VLC 도구를 통해 스냅샷을 찍을 때보다 VLC에서 볼 때 훨씬 더 나빠 보입니다. 이로 인해 문제를 이해하기 쉽고 결과를 비교하기가 어렵습니다.)

일지라도1 단계$WIDTH원본 이미지 와 일치하도록 을 지정했는데 $HEIGHT둘 다 분명히 변경되었으며 종횡비가 유지되지 않았습니다. 최종 이미지도 더 흐릿해졌는데, 이는 크기 조정으로 인한 결과일 수 있습니다.


편집하다:아래에서 mplayer 창의 실제 시스템 스크린샷을 참조하세요(VLC와 동일). 타일 ​​그라우트가 PNG 소스 및 VLC "내부" 스크린샷 기능에 비해 매우 흐릿합니다.

여기에 이미지 설명을 입력하세요.

세부 사항:

여기에 이미지 설명을 입력하세요.

답변1

ffmpeg

의견에서 지적했듯이 간단한 "질량" 매개변수 또는 "일정 비율 인자"(읽기)를 ffmpeg사용하여 좋은 1단계 솔루션이 제공됩니다.crf이 게시물crf)를 설명하세요.

바라보다이 게시물ffmpeg를 사용하여 PNG에서 H.264로 변환하는 간단한 지침입니다.

간단히 말해서:

# Assuming the frames are called frame0000.png, frame0001.png ...
# 
# set $FPS, $WIDTH, $HEIGHT, $FIRSTFRAME, 
# $CRF (see above) to the desired value, then run:

ffmpeg -r $FPS -f image2 -s ${WIDTH}x$HEIGHT -start_number $FIRSTFRAME \
       -i frame%04d.png -vcodec libx264 -crf $CRF -pix_fmt yuv420p output.mp4

$CRF기본값은 23입니다. 23보다 작은 값은 더 나은 품질과 더 큰 파일을 제공하고 23보다 큰 값은 압축을 증가시킵니다.

관련 정보