압축 비디오에서 프레임 유형 읽기 읽고 각 프레임이 I / B /

디코딩 부분의 계산을 저장하기 위해 압축 비디오를 분석하고 싶습니다.

압축 된 비디오를 읽고 각 프레임이 I / B / P 프레임인지 확인하고 프레임 유형에 따라 특정 작업 (프로세스)을 수행하고 싶습니다.

이것을 사용하여 어떻게 할 수 ffmpeg있습니까? 압축 된 비디오를 읽는 방법을 문서에서 보지 못했습니다.

당신의 도움을 주셔서 감사합니다.



답변

하여 프레임 유형을 결정 ffmpeg하거나ffprobe

비디오 파일을 통해 작업하면서 프레임 유형을 확인하려고합니다. 나는 과거에 이것을 할 이유가 있었다. SO에 대한 Gyan Doshi의 대답은 다음과 같습니다.

ffmpeg -i input.mp4 -vf select='eq(n,334)',showinfo -f null -

위의 내용은 비디오의 335 번째 프레임에 대한 출력을 생성합니다

n: 0 pts: 171008 pts_time:11.1333 pos:  1090471 fmt:yuv420p sar:1/1 s:1280x720
i:P iskey:0 type:B checksum:A72D197D plane_checksum:[9008E835 680AC49A 6CD66C90]
mean:[136 122 134] stdev:[65.4 7.0 9.5]

선택 필터를 건너 뛰고 모든 프레임에 대해 출력을 얻은 다음 incBrain 처럼 grep 할 수 있습니다 . 코딩되지 않은 디스플레이 사진 번호를 원합니다.

(추가 링크에 추가 링크가 없음)

원하는 방식에 따라 select위와 같이 필터를 사용 하거나 모든 프레임에 대한 정보를 가져와 (을 사용하여 ffprobe video.mp4 -show_frames) 출력을 처리 할 수 ​​있습니다.