ffmpeg의 비디오 출력 스트림 세부 정보는 무엇을 의미합니까?


10

당신이 실행하면 ffmpeg -i입력 매개 변수로 비디오 파일로는 FFmpeg 코덱, 비트 레이트와 해상도 같은 스트림 유형의 몇 가지 세부 사항을 반환합니다. 다른 데이터는 무엇입니까- "tbr", "tbn"및 "tbc"? 아래의 예에서, 당신은 그것들이 많이 다르다는 것을 알 수 있습니다.

Stream #0.0(und): Video: h264, yuv420p, 1280x720, 25 tbr, 25 tbn, 50 tbc

Stream #0.0(eng): Video: h264, yuv420p, 640x480, 22050 tbr, 22050 tbn, 44100 tbc

Stream #0.1: Video: wmv3, yuv420p, 1280x720, 4000 kb/s, 29.97 tbr, 1k tbn, 1k tbc

이차 질문 : 비트 전송률이 항상 표시되지 않는 이유는 무엇입니까?

답변:


6

FFmpeg 및 인코더 / 디코더에 사용 된 타임 스탬프베이스의 역수입니다. 나는 그것을 더 잘 설명 할 수 없으므로 FFmpeg 메일 링리스트를 인용하십시오 .

tbn 은 컨테이너에서 나온 AVStream의 타임베이스라고 생각합니다. 모든 AVStream 타임 스탬프에 사용됩니다.

tbc 는 특정 스트림에 사용되는 코덱에 대한 AVCodecContext의 시간축입니다. 모든 AVCodecContext 및 관련 타임 스탬프에 사용됩니다.

tbr 은 비디오 스트림에서 추측되며 사용자가 비디오 프레임 속도를 찾을 때보고 싶어하는 값입니다. 때로는 필드 속도와 프레임 속도로 인해 예상되는 것의 두 배입니다.

결국, tbr 을 "framerate"라고 부르는 값으로 사용 하려고합니다 .

비디오 스트림에 가변 비트 전송률 내용이 포함될 수 있으므로 비트 전송률이 항상 표시되는 것은 아닙니다.이 경우 비트 전송률을 실제로 예측할 수 없었습니다. 일정한 비트 전송률 스트림의 경우 일반적으로 비트 전송률이 표시됩니다. 가변 비트 전송률이 사용되고 FFmpeg가 평균을 표시하는 경우가 있습니다. 적어도 h.264 비디오에서는 이것이 가끔 작동합니다.

Video: h264, yuv420p, 640x480, 22050 tbr, 22050 tbn, 44100 tbc 분명히 오디오 스트림처럼 보입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.