CAFE

팟플레이어 Q&A

안녕하세요. 블랙박스 개발자입니다.

작성자원두|작성시간26.01.26|조회수208 목록 댓글 4

avi컨테이너로 녹화영상을 저장하고있는데

팟플레이어에서 제공하는 전체 Frame 값이 헤더의 어떤 필드를 참조하는지 궁금합니다.

단순 각 video 트랙별 strh의 Length값이 아니라 연산값으로 보이는데, 답변주시면 감사하겠습니다..

저장 사양은 아래와 같습니다.

=======================================================================

[사용 중인 필터 목록]
  (1) Built-in AVI Source
  (2) Built-in Video Codec/Transform(Low Merit)
  (3) Enhanced Video Renderer(Custom Present)
  (4) Built-in Audio Codec/Transform
  (5) DirectSound Audio Renderer

[비디오 정보]
  비디오 코덱: hev1 - Native D3D9 DXVA VLD Decoder - Intel(R) Iris(R) Xe Graphics
  입력 형식: hev1(24 bits)
  입력 크기: 3840 × 2160(1.78:1)
  출력 형식: dxva
  출력 크기: 3840 × 2160(1.78:1)
  프레임 레이트: 25.4
  BitRate: 19760 kbps

[오디오 정보]
  오디오 코덱: PCM(0x1) - PCM
  샘플링 레이트: 16000 -> 16000 샘플/초
  샘플당 비트수: 16 -> 16 비트/샘플
  채널 수: 1 -> 2 채널
  Bitrate: 128 kbps

 

General
Complete name                  : C:\Users\user\Downloads\0126\REC3_20260126_103659.avi
Format                         : AVI
Format/Info                    : Audio Video Interleave
Format settings                : BitmapInfoHeader / WaveFormatEx
File size                      : 258 MiB
Duration                       : 1 min 2 s
Overall bit rate               : 34.5 Mb/s
Frame rate                     : 25.400 FPS
IsTruncated                    : Yes

Video #1
ID                             : 0
Format                         : hev1
Codec ID                       : hev1
Duration                       : 1 min 2 s
Bit rate                       : 19.8 Mb/s
Width                          : 3 840 pixels
Height                         : 2 160 pixels
Display aspect ratio           : 16:9
Frame rate                     : 25.400 FPS
Bits/(Pixel*Frame)             : 0.094
Stream size                    : 148 MiB (57%)

Video #2
ID                             : 1
Format                         : hev1
Codec ID                       : hev1
Duration                       : 1 min 1 s
Bit rate                       : 7 294 kb/s
Width                          : 1 920 pixels
Height                         : 1 080 pixels
Display aspect ratio           : 16:9
Frame rate                     : 25.000 FPS
Bits/(Pixel*Frame)             : 0.141
Stream size                    : 53.2 MiB (21%)

Video #3
ID                             : 2
Format                         : hev1
Codec ID                       : hev1
Duration                       : 1 min 1 s
Bit rate                       : 7 216 kb/s
Width                          : 1 920 pixels
Height                         : 1 080 pixels
Display aspect ratio           : 16:9
Frame rate                     : 25.000 FPS
Bits/(Pixel*Frame)             : 0.139
Stream size                    : 52.6 MiB (20%)

Audio
ID                             : 3
Format                         : PCM
Format settings                : Little / Signed
Codec ID                       : 1
Duration                       : 1 min 2 s
Bit rate mode                  : Constant
Bit rate                       : 128 kb/s
Channel(s)                     : 1 channel
Sampling rate                  : 16.0 kHz
Bit depth                      : 16 bits
Stream size                    : 1.91 MiB (1%)
Alignment                      : Aligned on interleaves
Interleave, duration           : 64  ms (1.63 video frames)

Text
ID                             : 4
Stream size                    : 622 KiB (0%)

 

다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
  • 작성자팟플.개발자 | 작성시간 26.01.26 각 트랙의 최대값을 재생 전체 시간으로 사용하고..
    전체 프레임은 비디오 프레임 간격으로 나누어서 전체 프레임을 산출 합니다.
  • 답댓글 작성자원두 작성자 본인 여부 작성자 | 작성시간 26.01.26 아하, 빠른답변감사드립니다.

    1. 각 트랙의 rate와 length로 시간을 구하고.
    2. 그 중 최대값을 전체시간으로 사용.
    3. 다시 각 트랙의 프레임수는 전체시간에 rate값을 곱하여 표출

    그러면 aviheader의 TotalFrame와 MicroSecPerFrame 필드는 참조를 안 하고 있는게 맞을까요?
    직접 필드 수정하고 테스트해보면 영향이 없어보여서요.
  • 답댓글 작성자팟플.개발자 | 작성시간 26.01.26 원두 무조건 참조 안하는것은 아니고..
    트랙에 있는값이 잘못 되었다고 판단 되면 사용은 합니다.
  • 답댓글 작성자원두 작성자 본인 여부 작성자 | 작성시간 26.01.26 팟플.개발자 정말 궁금하던 거였는데 이 카페를 찾아서 여쭤보기를 잘했네요.
    감사드립니다.
댓글 전체보기
맨위로

카페 검색

카페 검색어 입력폼