가변 프레임 속도란 무엇입니까?

가변 프레임 속도란 무엇입니까?

가변 프레임 속도(또는 VFR)는 비디오 재생 중에 프레임 속도를 적극적으로 변경하거나 프레임 속도 개념을 완전히 삭제하고 각 프레임에 대해 개별 시간 코드를 설정할 수 있도록 하는 일부 컨테이너 형식에서 지원되는 기능에 대한 비디오 압축 용어입니다. .

그래서 저는 이 개념을 이해합니다. 그러나 이로 인해 발생하는 수많은 질문이 있으며 대부분의 정보 패드는 스텁입니다.

  1. 모두 십진수 fps vfr입니다. 정수 fps가 vfr이 될 수 있나요? 아니면 OBS로 화면을 녹화하고 fps를 30으로 설정했지만 십진수 29.777을 얻는 경우와 같이 비디오 제작 방식에 특정한가요? vfr은 실제로 실제 녹화된 비디오에만 존재하지만 3d/2d 애니메이션에는 vfr이 없습니까? 소수가 정의와 어떤 관련이 있는지 알 수 없습니다. 모든 정수 값도 이에 맞을 수 있습니다. ffmpeg에서 -vfrdet을 사용하여 무언가가 vfr인지 알 수 있다는 것을 알고 있습니다. 하지만 모든 vfr이 10진수라면 요점은 무엇입니까? 대신 fps를 확인하는 것은 어떨까요?

  2. 동일한 fps에서 vfr 비디오를 다시 인코딩하면 출력이 여전히 동일한 속도와 프레임 수를 유지합니까, 아니면 일정한 fps와 다른 일종의 데이터 손실(코덱 품질 손실 제외)이 발생합니까? vfr 비디오 재생 시 모든 프레임이 표시됩니까, 아니면 프레임을 건너뛰는 경향이 있습니까(하드웨어가 완벽하게 작동한다고 가정하겠습니다)?

  3. 비디오 편집기가 정수가 아닌 fps 값을 '모두' 지원하지 않는 이유는 무엇입니까? 즉, 정수의 분수로 표현할 수 있는 모든 것은 fps 입력 설정으로 사용할 수 있어야 합니다. 그렇지 않으면 "비디오 편집"의 요점이 무너집니다. 완전히 로드된 것으로 추정되는 비디오 편집기가 5개의 사전 설정 fps(30/60/24/23.97/25)로만 제한하는 정확한 근거는 무엇입니까? 일부 비디오 편집자들은 60fps를 지원하지만 60fps 타임라인 편집만 지원한다고 말하고 있기 때문에 더욱 혼란스럽습니다. 그리고 출력의 지원 fps 값은 (내보내기도 전에!) 59.94로 나열되어 있으며 공식 튜토리얼 비디오를 보면 알 수 있습니다. 저와 59.94는 60과 같은 모든 사람들. 그것이 vfr과 관련이 있는지, 아니면 다른 것과 관련이 있는지는 잘 모르겠습니다.

  4. vfr의 fps 값은 전체 비디오의 평균 fps입니까? 아니면 평균화/계산을 위한 좀 더 발전된 수단인가요? VFR 비디오에서 단일 나열된 '평균' fps를 갖는 역할은 무엇입니까? 정의에 따르면 비디오는 임의의 fps와 무관합니다. 일부 부분이 원하는 방식으로 더 빠르거나 느려지도록 비디오 플레이어에 특정 방식으로 비디오를 재생하도록 지시하는 일종의 특수 데이터 패킷이 있습니까? 기술적으로 vfr은 비디오의 시작 부분이 60fps로 재생되고 마지막 10초가 5fps로 재생된다는 것을 의미할 수 없나요? 비디오 플레이어가 시작 부분을 60fps로 재생하고 끝 부분을 5fps로 재생하는지 어떻게 알 수 있겠습니까?

답변1

  1. Are all decimal fps vfr; can integer fps be vfr?

아니요. 초당 프레임 수는 여전히 일정할 수 있습니다. 예를 들어 NTSC(미국 텔레비전 표준)는 초당 29.97(종종 30000/1001로 표시됨) 프레임의 일정한 프레임 속도입니다.

Does vfr really only exist on real-life recorded video, but 3d/2d animation wouldn't have vfr?

내용은 무관합니다. 애니메이션은 특정 프레임 속도를 염두에 두고 제작되는 경향이 있습니다. 그러나 반드시 그래야 할 이유는 없습니다.

I don't see what being a decimal has to do with the definition

아무것도 아님.

why not just check the fps instead.

"fps 확인"이란 무엇을 의미합니까(포인트 4 참조)

  1. If you re-encode vfr video at the same fps,

이는 전적으로 인코딩 방법과 인코딩에 사용하는 도구의 작동 방식에 따라 달라집니다. 대부분의 도구는 프레임 속도를 수정하지 않고 출력에 들어오는 모든 것을 통과시킵니다(지정하지 않는 한).

Does playback of a vfr video show ALL the frames or does it tend to skip frames

장치에 따라 다릅니다. 예를 들어 TV가 60Hz이고 61fps로 인코딩하면 모든 프레임을 표시할 수 없습니다. 그러나 콘텐츠가 평균 60Fps인데 62로 버스트되는 경우 TV는 프레임을 균등하게 펼쳐 모두 표시하거나 두 프레임을 떨어뜨릴 수 있습니다. 프레임을 저장하고 나중에 2프레임을 반복합니다. 모든 디스플레이는 다르며 수행해야 하는 작업에 대한 규칙은 없습니다.

  1. Why do video editors not 'all' support non-integer fps values?

해당 도구를 만든 사람에게 문의해야 합니다. 모든 도구에서 이러한 기능을 방해하는 이유는 게으름, 비용 또는 단순성 외에는 없습니다.

단순성을 확장하면 많은 경우 사용자가 요구하는 프레임 속도가 불가능합니다. 예를 들어 RTMP는 1khz 클럭을 사용합니다. 즉, 30fps CFR도 불가능합니다(30은 1000으로 균등하게 나누어지지 않으며 프레임의 2/3 길이가 33ms 길이이고 1/3 길이가 34ms인 30fps AFR이 됩니다). UI에 다음과 같은 비율이 있는 경우 사용자는 프레임 속도에 대해 원하는 값을 입력할 수 있지만 선택한 비디오 형식의 제한으로 인해 예상하지 못한 결과를 얻게 되는 경우가 많습니다.

telling me and everyone that 59.94 is the same as 60 그것은 전혀 같은 것이 아닙니다. 대부분의 경우에는 중요하지 않습니다. 인터넷 비디오의 경우 전혀 중요하지 않지만 일부 방송 TV 워크플로의 경우 서로 다른 장비가 함께 작동하려면 프레임 속도가 정확해야 하는 경우가 많습니다.

  1. Is the fps value of a vfr just the average fps across the entire video?

평균 프레임 속도를 계산하는 방법에 대한 표준은 없습니다. 방금 헤더에서 값을 읽은 소프트웨어가 처음 몇 초의 평균을 계산하거나 전체 파일에 대한 프레임 속도를 계산할 수 있습니다. 모든 도구는 다르게 작동합니다.

What is even the role of having a singular listed 'average' fps in a vfr video?

묵인.

is there some kind of special data packet that tells the video player to playback the video in a certain way such that some parts are faster/slower in the desired fashion?

아니요, 모든 프레임에는 이와 관련된 타임스탬프가 있습니다. 플레이어는 다음 프레임을 표시할 시간이 될 때까지 프레임을 표시합니다. 매 프레임마다 속도가 빨라지고 느려집니다.

Can't vfr technically mean the start of a video plays at 60 fps and the last 10 seconds play at 5 fps?

How would a video player know to play the start at 60 fps...and the end at 5fps...if it only has 1 number to go off of.

나갈 번호가 1개도 없습니다. 프레임당 1개의 숫자가 있습니다.

관련 정보