비디오에 가변 프레임 속도가 있는지 어떻게 알 수 있나요?

비디오에 가변 프레임 속도가 있는지 어떻게 알 수 있나요?

비디오에 가변 프레임 속도가 있는지 어떻게 알 수 있나요? 프로그래밍 방식으로 이를 수행할 필요는 없습니다. 단지 수백 메가바이트에 달하는 프로그램을 설치하고 싶지 않을 뿐입니다. 예를 들어 VLC 미디어 플레이어로 할 수 있다면 완벽할 것입니다.

답변1

FFmpeg에는 이러한 목적을 위한 vfrdet 필터가 있습니다.

ffmpeg -i in -vf vfrdet -an -f null -

로그에서 양식 판독값을 볼 수 있습니다.

[Parsed_vfrdet_0 @ 0000000003d8fec0] VFR:0.833333 (50/10) min: 23 max: 291)

VFR의 0이 아닌 값은 vfr 스트림을 나타냅니다. 괄호 안의 첫 번째 값은 스트림의 감지된 프레임 속도에 의해 암시된 예상 지속 시간과 다른 지속 시간을 가진 프레임 수입니다. 두 번째 값은 예상 지속 시간을 갖는 프레임 수입니다. VFR 값은 두 숫자의 합에 대한 첫 번째 숫자의 비율입니다.

몇 가지 주의 사항: 매우 낮거나 매우 높은 값은 일반적으로 첫 번째 및/또는 마지막 프레임과 같이 비표준 지속 시간을 갖는 잘못된 프레임이 몇 개 있음을 나타냅니다. 이는 대부분의 목적에서 CFR로 간주될 수 있습니다. 0.50 정도의 값은 스트림에 개념적 프레임 지속 시간을 스트림의 타임베이스로 정확하게 표현할 수 없는 프레임 속도 및/또는 타임베이스가 있음을 나타냅니다. 따라서 파일을 생성한 앱이 지속 시간을 진동시켰습니다(예: 스트림의 fps가 6인 경우). 타임베이스가 1/100인 경우 이상적인 타임스탬프는 비디오의 첫 번째 초에 대해 0, 16.667, 33.334, 50.000, 66.667, 83.333, 100.000이지만 타임스탬프는 정수이므로 먹서는 0, 16, 34를 저장할 수 있습니다. 50, 67, 83, 100. 이는 VFR 값이 0.5인 스트림으로 표시될 수 있습니다.

답변2

그냥 ffprobe를 사용하세요

ffprobe -v quiet -print_format json -show_streams input

그리고 avg_frame_rate원하는 비디오 스트림의 매개변수를 확인하세요. 이 매개변수의 값이 이와 같은 분수인 경우

"avg_frame_rate": "1205285219/50270287"

분모가 1이 아닌 경우 비디오 파일은 가변 프레임 속도를 갖습니다.

값이 이 정도라면

"avg_frame_rate": "25/1"

스트림의 프레임 속도가 일정한지 확인하세요.

답변3

하나는 사용할 수 있습니다미디어정보(5MB, 크로스 플랫폼, Windows용 휴대용 버전 있음, 무료) 비디오에 가변 프레임 속도가 있는지 확인하려면 다음을 수행하세요.

여기에 이미지 설명을 입력하세요

관련 정보