태그 보관물: ffmpeg

ffmpeg

N 초마다 비디오의 한 프레임을 이미지로 추출하는 방법은 무엇입니까? 할 수 있습니까? MPlayer를 사용하여

비디오 파일을 이미지 시퀀스로 변환하는 방법 (예 : N 초마다 한 프레임) mplayer 또는 ffmpeg가이를 수행 할 수 있습니까? MPlayer를 사용하여 스크린 샷을 수동으로 가져 왔지만 긴 비디오를 위해 이것을 자동화하고 싶습니다.



답변

ffmpeg를 사용하면 매우 간단하며 추가 스크립트 없이 N 초마다 한 프레임을 출력 할 수 있습니다 . 이미지 시퀀스로 내보내려면 출력과 비슷하거나 비슷하게 사용 하십시오. 비트는 제로 패딩 정수로 변환됩니다 오랫동안 자리 – 내가 준 예는 다음과 같이 출력을 얻는다myimage_%04d.png%0xdx

  • myimage_0000.png,
  • myimage_0001.png,
  • myimage_0002.png

    기타..

많은 스틸 이미지 형식, png, jpeg, tga 등 무엇이든 사용할 수 있습니다 ( ffmpeg -formats전체 목록 참조 ).

이제 동영상을 이미지 시퀀스로 내보내는 방법을 알고 있지만 모든 단일 프레임을 내보내고 싶지 않다고 가정하십니까?

트릭은 초당 프레임 수인 -r n옵션을 사용하여 출력의 프레임 속도를 원하는대로 간단히 변경하는 것 n입니다. 초당 1 프레임 -r 1, 4 초 -r 0.25마다 1 프레임, 10 초마다 1 프레임 -r 0.1등이됩니다.

그래서 그것의 하나의 프레임 저장하려면 어떻게 보일지이다, 모두 함께 넣어 input.mov마다 4 초 output_0000.png, output_0001.png등 :

ffmpeg -i input.mov -r 0.25 output_%04d.png

점을 유의 -r 0.25옵션이 간다 -i input.mov 가의 프레임 속도 제어 있기 때문에, 일부 출력을 . 당신이 그것을 넣으면 전에 입력이 지정된 프레임 속도를 한 것처럼 입력 파일을 치료하는 것입니다.

10,000 개 이상의 프레임을 만들 것입니다 명령이이 변경 될 경우 당신이 필요하지만 많은 숫자, 예에 %의 XD 변경 %04d%05d. 이미지 시퀀스 인 입력 파일에도 적용됩니다. 자세한 내용은 여기를 참조 하십시오 .

Windows 사용자 : 명령 행 사용%

예: ffmpeg -i inputFile.mp4 -r 1 outputFile_%02d.png

CMD 및 BAT 스크립트에서 %%

예: ffmpeg -i inputFile.mp4 -r 1 outputFile %%02d.png

따라서 %%스크립트는 두 배이고 %대화식 명령 줄은 하나 입니다. 어느 상황에서든 잘못하면 오류가 발생합니다.


답변

mplayer -vo jpeg -sstep 5 file.avi

프레임을 5 초마다 jpeg 파일로 저장합니다.

그러나 파일의 끝에서 멈추지 않고 마지막 프레임의 사본을 계속 생성합니다. 이를 피하려면 다른 플레이어 또는 mplayer를 사용하여 비디오의 지속 시간을 초 단위로 찾으십시오.

mplayer -vo null -ao null -frames 0 -identify file.avi

“ID_LENGTH = 147.00″과 같은 줄을 찾으십시오.

길이에서 2를 빼고 -endpos옵션 에이 값을 사용하십시오 . 예를 들어 147 초 동영상의 경우 :

mplayer -vo jpeg -sstep 5 -endpos 145 file.avi

답변

을 사용 ffmpeg하면 다음을 수행 할 수 있습니다.

ffmpeg -ss 4 -i input.avi -s 320x240 -frames:v 1 output.jpg

이 명령은 비디오에서 4 초에 320 × 240 크기의 JPG 썸네일을 생성합니다. 시간과 파일 이름을 변경하는 스크립트에 이것을 입력하면 완료됩니다.

추가 정보 : 동영상의 X 초마다 썸네일 이미지 만들기


답변

일종의 밀착 인화를 수행 하고 Unix와 유사한 OS를 사용하는 경우 Video Contact Sheet * NIX , short vcs 라고하는이 정교한 스크립트를 사용할 수 있습니다 .

백그라운드에서는 ffmpeg기본적으로 mplayer또는를 사용하므로 많은 비디오 형식을 처리 할 수 ​​있습니다. 동영상에서 스틸 이미지를 캡처하는 프로세스를 자동화하고 머리글과 바닥 글이있는 이미지로 구성합니다. 예를 들어 원하는 캡처 수 또는 시간 차이를 선택할 수 있습니다.

10 분 간격으로 호출은 다음과 같습니다.

vcs -i 10m input.avi

다른 조정에 대한 전체 명령 줄 옵션 목록을 확인하십시오 .

다음은 홈페이지에서 가져온 예제 밀착 인화입니다 .


답변

VLC 1.1.0 이상에서는 장면 비디오 필터를 사용할 수 있습니다.

vlc C:\video\to\process.mp4 --rate=1 --video-filter=scene --vout=dummy --start-time=10 --stop-time=11 --scene-format=png --scene-ratio=24 --scene-prefix=snap --scene-path=C:\path\for\snapshots\ vlc://quit

위의 내용은 00:00:10에서 시작하여 00:00:11에서 끝나는 24 개 프레임 중 1 개를 저장합니다 (-장면 비율 = 24).

방금 테스트하여 새로 설치 한 Windows 8에서 VLC 2.0.3에서 작동하는지 확인했습니다 (추가 비디오 플러그인 또는 소프트웨어가 없음).

전체 문서 : http://wiki.videolan.org/How_to_create_thumbnails


답변

VirtualDub 가 당신을 위해 이것을 할 수 있습니다

File-> Export->Image sequence


답변

당신은 또한 이것을 시도 할 수 있습니다

VLC 명령 줄에서 …

vlc “C : \ YOUR \ file \ path \ file.avi”-V 이미지 –image-out-prefix = capname –image-out-ratio = 60

file.avi는 캡처 할 비디오이고, capname은 저장된 이미지의 접두사입니다. 비율로 재생하고 싶을 수도 있습니다 (60은 60 개 이미지 중 1 개가 캡처됨을 의미합니다). 예를 들어 더 많은 명령을 추가 할 수 있습니다. –image-out-format jpeg는 캡을 png 대신 jpeg로 저장합니다. –snapshot-path를 사용하면 캡을 저장할 위치를 선택할 수 있습니다.

위의 소스