playXP

서브 메뉴

Page. 1 / 12520 [내 메뉴에 추가]
글쓰기
작성자 아이콘 NightFury
작성일 2025-07-03 22:29:02 KST 조회 27
제목
AI에게 ffmpeg과 gif에 대해 속성과외 받은 썰

요즘 심심해서 투슬리스 움짤이나 따볼 생각으로 ffmpeg을 사용해봤음

 

ffmpeg -ss 00:29:28.149 -i "input.mkv" -vf "trim=start_frame=0:end_frame=66,setpts=PTS-STARTPTS,crop=1600:1600:1352:280,scale=200:-1:flags=lanczos" -loop 0 "기본.gif"

 

파일포켓 이미지
 

무슨 박물관에 전시된 최초의 컬러tv에서나 볼 수 있는 처참한 결과물이 나옴

 

어둡고 칙칙하고 노이즈가 잔뜩 껴있음

 

​ 

AI한테 물어보니 원본 영상의 밝기와 색상 범위가 훨씬 넓기 때문에 gif로 바로 변환하면 색상 왜곡이 심하다고 함

 

HDR(bt2020) 영상을 SDR(bt709) gif로 변환하기 위해 색상 공간 변환 필터를 적용해봄​ 

 

ffmpeg -ss 00:29:28.149 -i "input.mkv" -vf "trim=start_frame=0:end_frame=66,setpts=PTS-STARTPTS,zscale=in_range=limited:out_range=full:matrixin=bt2020nc:matrix=bt709:primariesin=9:primaries=1:transferin=14:transfer=1,crop=1600:1600:1352:280,scale=200:-1:flags=lanczos" -loop 0 "색상공간변환.gif" 

 

파일포켓 이미지

 

전보단 훨씬 좋아졌는데 여전히 칙칙하고 노이즈가 껴있음 

 

 

AI한테 다시 물어보니 GIF 특성상 256가지 색상밖에 표현하지 못하기 때문에 최적의 색상 팔레트를 생성해서 적용할 필요가 있다고 함

 

팔레트 생성 필터인 palettegen과 팔레트 적용 필터인 paletteuse를 기본값으로 적용해봄

 

​ffmpeg -ss 00:29:28.149 -i "input.mkv" -vf "trim=start_frame=0:end_frame=66,setpts=PTS-STARTPTS,zscale=in_range=limited:out_range=full:matrixin=bt2020nc:matrix=bt709:primariesin=9:primaries=1:transferin=14:transfer=1,crop=1600:1600:1352:280,scale=200:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" -loop 0 "색상공간변환_팔레트.gif" 

 

 

파일포켓 이미지

 

노이즈가 없어져서 이미지가 많이 부드러워졌지만 마음에 안들었던 부분이

1. 중간에 투슬리스 입천장에 빵꾸나있음

2. 투슬리스 눈 색깔이 배경 색깔이랑 구분이 안됨

3. 확대해보면 픽셀 깨진듯이 보임

 

여기선 최적의 색상 팔레트를 적용하기 위해 이거저거 많이 적용했음
​1. stats_mode=single과 new=1옵션의 조합으로 매 프레임마다 팔레트를 생성해서 적용
2. 투명 색상 사용하지 않도록 해서 255색만 사용 가능한 것을 256색 사용 가능하도록 함(reserve_transparent=0)
3. 디더링 알고리즘을 기본값인 sierra2_4a에서 floyd_steinberg로 변경

ffmpeg -ss 00:29:28.149 -i "input.mkv" -vf "trim=start_frame=0:end_frame=66,setpts=PTS-STARTPTS,zscale=in_range=limited:out_range=full:matrixin=bt2020nc:matrix=bt709:primariesin=9:primaries=1:transferin=14:transfer=1,crop=1600:1600:1352:280,scale=200:-1:flags=lanczos,split[s0][s1];[s0]palettegen=stats_mode=single:reserve_transparent=0[p];[s1][p]paletteuse=new=1:dither=floyd_steinberg" -loop 0 "색상공간변환_팔레트_옵션최적화.gif"

파일포켓 이미지

원본 프레임과 비교해봤을때 조금 어둡지만 가장 정확한 결과물이 나왔음

 

100x100으로 사용하면 가시성이 많이 떨어질거라 생각해서 밝기와 채도를 올림


ffmpeg -ss 00:29:28.149 -i "input.mkv" -vf "trim=start_frame=0:end_frame=66,setpts=PTS-STARTPTS,zscale=in_range=limited:out_range=full:matrixin=bt2020nc:matrix=bt709:primariesin=9:primaries=1:transferin=14:transfer=1,crop=1600:1600:1352:280,scale=200:-1:flags=lanczos,curves=preset=lighter,hue=s=1.2,split[s0][s1];[s0]palettegen=stats_mode=single:reserve_transparent=0[p];[s1][p]paletteuse=new=1:dither=floyd_steinberg" -loop 0 "최종.gif"
 

파일포켓 이미지

 

이렇게 최종 결과물을 얻어냄

마지막 비교용으로 올려보는 원본에서 png로 뜯은 프레임과 처음, 최종 결과물

파일포켓 이미지
파일포켓 이미지
파일포켓 이미지
파일포켓 이미지

지속적인 허위 신고시 신고자가 제재를 받을 수 있습니다.
신고 사유를 입력하십시오:

발도장 찍기
등록된 댓글이 없습니다.
댓글을 등록하려면 로그인 하셔야 합니다. 로그인 하시려면 [여기]를 클릭하십시오.
롤토체스 TFT - 롤체지지 LoLCHESS.GG
소환사의 협곡부터 칼바람, 우르프까지 - 포로지지 PORO.GG
배그 전적검색은 닥지지(DAK.GG)에서 가능합니다
  • (주)플레이엑스피
  • 대표: 윤석재
  • 사업자등록번호: 406-86-00726

© PlayXP Inc. All Rights Reserved.