명령 행에서 애니메이션 GIF를 mp4 또는 mv4로 변환하는 방법은 무엇입니까?


79

mp4 또는 mv4 비디오 파일을 애니메이션 GIF로 변환하거나 그 반대로 변환하는 데 어떤 명령을 사용합니까? 즉, 애니메이션 gif를 mp4 또는 mv4로 변환하십시오.

답변:


107

나를 위해 일한 것은 다음과 같습니다.

ffmpeg -i animated.gif -movflags faststart -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" video.mp4

movflags –이 옵션은 브라우저가 가능한 빨리로드 할 수 있도록 MP4 파일의 구조를 최적화합니다.

pix_fmt – MP4 비디오는 다른 형식으로 픽셀을 저장합니다. 모든 브라우저에서 최대 호환성을 갖는 특정 형식을 지정하기 위해이 옵션을 포함합니다.

vf – H.264를 사용하는 MP4 비디오의 크기는 2로 나눌 수 있어야합니다.이 옵션을 사용하면 문제가 해결됩니다.

출처 : http://rigor.com/blog/2015/12/optimizing-animated-gifs-with-html5-video


4
고마워 이것은 osx에서 나를 위해 일한 유일한 버전입니다.
Pykler

1
이 상단 대답은하지 않았다는 FFmpeg 3.0.2, 우분투 16.10에 나를 위해 일한
고양이

1
최대 1 픽셀 만 잘라내므로 크기 조정 대신 자르기를 수행 할 수 scale있습니다 (로 교체 crop). 확장은 일을 흐리게 만들 수 있습니다
Jezzamon

이것은 나를 위해 지난 몇 초를 차단했습니다. 결과 mp4가 일찍 종료되었습니다.
callum

38

필자의 경우 ffmpeg직접 사용 하여 트릭을 수행하고 최상의 결과를 제공했습니다.

$ ffmpeg -f gif -i infile.gif outfile.mp4

2
os x에 빈 (손상된) 비디오를 제작 함
Pykler

2
@Pykler 아마도 자세한 정보를 보거나 로그 파일을 확인하여 무슨 일이 일어나고 있는지 이해할 것입니다.
BenC

나도 아마 vico Vault의 대답에서 제안 된 "2 차원으로 나눌 수 있습니다". (나를 위해 일했다)
lapo

이 방법은 나를 위해 완벽하게 작동했습니다. (최고의 답변으로 3 초가 끝났습니다.) 편집 : 아, 그러나 iOS에서는 재생되지 않습니다 :(
callum

웹 페이지는 방금 -pix_fmt yuv420p을 추가해야한다고 말했습니다
beefeather

2

GIF 애니메이션을 비디오로 변환하는 다른 방법 :

ffmpeg -i your_gif.gif -c:v libvpx -crf 12 -b:v 500K output.mp4

-crf 값은 4에서 63까지 가능합니다. 값이 낮을수록 품질이 좋아집니다. -b : v는 최대 허용 비트 전송률입니다. 높을수록 품질이 좋아집니다.


2

"n 루프"로 출력하려면 이 솔루션을 한 번에보십시오.

normal.gifloop.mp4 로 변환 해 봅시다.

for 2 루프 영화 예제 :

ffmpeg -stream_loop 2 -i normal.gif loop.gif -y;ffmpeg -i loop.gif -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" loop.mp4 -y

for 5 루프 영화 예제 :

ffmpeg -stream_loop 5 -i normal.gif loop.gif -y;ffmpeg -i loop.gif -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" loop.mp4 -y

주의 : -y [overwrite]가 있습니다


없이 첫 번째 ffmpeg명령 을 실행하면 원하지 않는 것을 실수로 덮어 쓸 가능성이 훨씬 줄어 듭니다. (도 있습니다 아마 얻을 수있는 방법 자체에 파이프 비디오, 중간 파일을 덮어 쓰기하지 않고 하나의 파이프 명령에서이 작업을 수행.) -yffmpeg
FeRD

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.