FFMPEG.exe를 사용하여 다양한 비디오에서 프레임을 추출합니다. 이것은 프로그래밍 방식의 솔루션이며 전체 프레임 수 및/또는 지속 시간을 (ffprobe를 사용하여) 까다로울 수 있으므로 콘솔 출력을 사용하여 개별 프레임의 타임 스탬프를 감지 할 수 있다고 생각하지만 N 프레임마다 단일 출력 라인을 얻고 있습니다. like :FFMPEG에서 각 추출 된 프레임에 대한 로그 라인 얻기
frame= 20 fps=0.0 q=0.0 size= 0kB time=00:00:01.72 bitrate= 0.0kbits/s
frame= 40 fps= 38 q=0.0 size= 0kB time=00:00:04.02 bitrate= 0.0kbits/s
frame= 60 fps= 39 q=0.0 size= 0kB time=00:00:06.14 bitrate= 0.0kbits/s
frame= 70 fps= 38 q=0.0 Lsize= 0kB time=00:00:07.86 bitrate= 0.0kbits/s
각 프레임마다 강제로 출력 할 수있는 명령 줄 옵션이 있습니까? 그렇다면 time=
부분을 추출 할 수 있습니다. 이 기능은 현재 사용되는 명령 줄입니다 :
ffmpeg.exe -i video.avi -y -threads 0 -vsync 2 %10d.jpeg
이상적으로, 프레임의 타임 스탬프를 기록 다른 형식 %10d.jpeg
를 교체하지만 난이 존재 생각하지 않습니다.
감사합니다. 불행하게도,'ffprobe -show_frames'는 200fps로 프레임을 보여줍니다 (이것은 맞지 않습니다). 이 외에도'ffmpeg' 명령 행은 고유 한 프레임 만 추출하도록 조정되어 있으므로 추출 된 프레임을'ffprobe' 출력에 매핑 할 수 없습니다. – wpfwannabe
갑자기 더 나은 우주에 살고있는 Im, 지금 나는 엉성한 ffmpeg 대신 끔찍한 일을하는 ffmpeg에서 엉터리 버전을 가지고있다. – Prospero