비디오 파일(avi, mpeg, mp4...)의 일부를 지정하고 특정 초/분마다 "스냅샷"을 찍어 일련의 이미지 파일(예: jpeg)로 저장할 수 있는 프로그램이 있습니까? 예를 들어 0시 45분에서 1시 00분 사이의 영화 부분을 선택하고 30초마다 "스냅샷"을 찍습니다.
비디오 플레이어(예: VLC) 또는 플러그인의 일부일 수 있습니다... 요점은 스냅샷을 수동으로 찍는 대신 자동으로 스냅샷을 찍는 것이 필요하다는 것입니다.
또한, 이러한 일련의 이미지 파일을 애니메이션 GIF 또는 PNG 파일로 변환할 수 있는 좋은 프로그램이 있습니까? (도미에게 스냅을 애니메이션 GIF/PNG로 저장할 수 있는 옵션이 있다면 확실히 추가 보너스가 될 것입니다.)
답변1
이 작업을 수행 하는 데 사용할 수 있습니다 ffmpeg
. 가지다ffmpeg 웹사이트에는 몇 가지 예가 있습니다..
다음은 몇 가지입니다:
img001.jpg
이렇게 하면 ,img002.jpg
,img003.jpg
, ... 라는 이름의 썸네일이 매분 생성됩니다 (%03d
각 썸네일의 일련 번호는 3자리 형식이어야 함을 나타냄).$ ffmpeg -i myvideo.avi -f image2 -vf fps=fps=1/60 img%03d.jpg
thumb0001.bmp
10분마다 , , ... 이라는 이름의 썸네일이 생성됩니다thumb0002.bmp
.thumb0003.bmp
$ ffmpeg -i test.flv -f image2 -vf fps=fps=1/600 thumb%04d.bmp
짧은 영상으로 만들고 싶으시면 다시 도움을 요청하시면 됩니다 ffmpeg
. 에서 논의됨해당 웹사이트의 이 페이지.
다음은 몇 가지 추가 예입니다.
여기서 각 이미지의 지속 시간은 5초입니다(초당 1/5 프레임의 역수). FFmpeg에게 입력 파일의 FPS 옵션(초당 프레임 수)을 매우 낮은 값으로 설정하도록 지시함으로써 출력에서 FFmpeg가 프레임을 반복하도록 만들어 각 이미지를 일정 시간 동안 화면에 표시합니다.
$ ffmpeg -f image2 -r 1/5 -i img%03d.png -c:v libx264 -r 30 out.mp4
img001.jpg
이미지에 번호가 매겨지고 시리즈( ,img002.jpg
, ) 별로 정렬되지 않고 임의의 이미지 문자열이 있는 경우img003.jpg
ffmpeg는 bash 스타일 와일드카드도 지원합니다(*는 모든 문자 수를 나타냄).$ ffmpeg -f image2 -r 1 -pattern_type glob -i '*.jpg' -c:v libx264 out.mp4
또는 PNG 이미지의 경우:
$ ffmpeg -f image2 -r 1 -pattern_type glob -i '*.png' -c:v libx264 out.mp4
결과 비디오를 애니메이션 GIF로 만들려면 다음과 같은 SO Q&A에 설명된 단계를 사용할 수 있습니다.ffmpeg를 사용하여 avi에서 gif를 생성하는 방법은 무엇입니까?:
$ ffmpeg -i video.avi -t 10 out%02d.gif
그 다음에:
$ gifsicle --delay=10 --loop *.gif > anim.gif
도구에 대한 링크는 다음과 같습니다.gifsicle
.
답변2
또한 시작했지만 ffmpeg
@slm이 나를 이겼습니다. :)
mplayer
어쨌든, 이를 사용하여 빠르고 쉽게 덤프를 만들 수도 있습니다 . 예를 들어:
mplayer -nosound -ss 45:00 -endpos 15:00 -vo png:z=7 -sstep 30 your_vid.mp4
-ss
시작 위치입니다.-endpos
기간입니다.-vo
출력 드라이버가 필요합니다.mplayer -vo help
목록을 가져오는 데 사용됩니다 . 많은 배포판에서는 대부분의 mplayer 옵션에 탭 완성 기능도 제공합니다.mplayer -vo
TabTab-sstep 30
프레임 사이의 30초를 나타냅니다.
시작 및 끝 위치:
<[[hh:]mm:]ss[.ms]|size[b|kb|mb]>
광범위한 계산과 버퍼링이 필요하기 때문에 100% 정확하지는 않지만 일반적으로 충분히 가깝습니다.
또한 gif89a 드라이버가 있지만 품질이 최고는 아닙니다( convert
예를 들어 비디오 변환 및 컴파일을 사용하여 이미지를 덤프하는 것과 비교할 때 gifsicle
). 물론 가지고 놀 수도 있습니다. GIF에 표시된 아바타와 같이 영화에서 바로가기를 만드는 데 더 좋습니다.
mplayer -ao null -ss 10:00 -endpos 5 -vo gif89a:fps=5.3 -vf palette,softskip,scale=240:135 videofile.ext
그런 다음 다음을 통해 출력 파일을 지정할 수도 있습니다.
-vo gif89a:fps=4.9:output=sample.gif
매우전혀 관련이 없지만 표시 목적으로 작성된 참고 사항 -vo
은 ASCII 형식입니다.
mplayer -vo aa -monitorpixelaspect 0.5 video.mp4
출력 창을 최대화하고 5단계 뒤로 물러납니다.