아래는 파일 정보입니다
-------------------------------------------------
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Main@L4.1
Format settings, CABAC : Yes
Format settings, ReFrames : 5 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 1 min 32 s
Bit rate : 5 375 kb/s
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 30.000 FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.086
Stream size : 59.4 MiB (96%)
Writing library : x264 core 155 r2901 7d0ff22
Encoding settings : cabac=1 / ref=5 / deblock=1:-1:-1 / analyse=0x1:0x111 / me=umh / subme=10 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=0 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=12 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=crf / mbtree=1 / crf=19.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 40
Duration : 1 min 32 s
Bit rate mode : Constant
Bit rate : 192 kb/s
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 48.0 kHz
Frame rate : 46.875 FPS (1024 spf)
Compression mode : Lossy
Stream size : 2.12 MiB (3%)
Default : Yes
Alternate group : 1
Video
Count : 334
Count of stream of this kind : 1
Kind of stream : Video
Kind of stream : Video
Stream identifier : 0
StreamOrder : 0
ID : 1
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format/Url : http://developers.videolan.org/x264.html
Commercial name : AVC
Format profile : Main@L4.1
Format settings : CABAC / 5 Ref Frames
Format settings, CABAC : Yes
Format settings, CABAC : Yes
Format settings, ReFrames : 5
Format settings, ReFrames : 5 frames
Internet media type : video/H264
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Codec : AVC
Codec : AVC
Codec/Family : AVC
Codec/Info : Advanced Video Codec
Codec/Url : http://developers.videolan.org/x264.html
Codec/CC : avc1
Codec profile : Main@L4.1
Codec settings : CABAC / 5 Ref Frames
Codec settings, CABAC : Yes
Codec_Settings_RefFrames : 5
Duration : 92667
Duration : 1 min 32 s
Duration : 1 min 32 s 667 ms
Duration : 1 min 32 s
Duration : 00:01:32.667
Duration : 00:01:32:20
Duration : 00:01:32.667 (00:01:32:20)
Bit rate : 5374595
Bit rate : 5 375 kb/s
Width : 1920
Width : 1 920 pixels
Height : 1080
Height : 1 080 pixels
Stored_Height : 1088
Sampled_Width : 1920
Sampled_Height : 1080
Pixel aspect ratio : 1.000
Display aspect ratio : 1.778
Display aspect ratio : 16:9
Rotation : 0.000
Frame rate mode : CFR
Frame rate mode : Constant
FrameRate_Mode_Original : VFR
Frame rate : 30.000
Frame rate : 30.000 FPS
Frame count : 2780
Resolution : 8
Resolution : 8 bits
Colorimetry : 4:2:0
Color space : YUV
Chroma subsampling : 4:2:0
Chroma subsampling : 4:2:0
Bit depth : 8
Bit depth : 8 bits
Scan type : Progressive
Scan type : Progressive
Interlacement : PPF
Interlacement : Progressive
Bits/(Pixel*Frame) : 0.086
Stream size : 62255723
Stream size : 59.4 MiB (96%)
Stream size : 59 MiB
Stream size : 59 MiB
Stream size : 59.4 MiB
Stream size : 59.37 MiB
Stream size : 59.4 MiB (96%)
Proportion of this stream : 0.96400
Writing library : x264 - core 155 r2901 7d0ff22
Writing library : x264 core 155 r2901 7d0ff22
Encoded_Library_Name : x264
Encoded_Library_Version : core 155 r2901 7d0ff22
Encoding settings : cabac=1 / ref=5 / deblock=1:-1:-1 / analyse=0x1:0x111 / me=umh / subme=10 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=0 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=12 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=crf / mbtree=1 / crf=19.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
Audio
Count : 272
Count of stream of this kind : 1
Kind of stream : Audio
Kind of stream : Audio
Stream identifier : 0
StreamOrder : 1
ID : 2
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Commercial name : AAC
Format profile : LC
Codec ID : 40
Codec : AAC LC
Codec : AAC LC
Codec/Family : AAC
Codec/CC : 40
Duration : 92651
Duration : 1 min 32 s
Duration : 1 min 32 s 651 ms
Duration : 1 min 32 s
Duration : 00:01:32.651
Duration : 00:01:32:19
Duration : 00:01:32.651 (00:01:32:19)
Bit rate mode : CBR
Bit rate mode : Constant
Bit rate : 192000
Bit rate : 192 kb/s
Channel(s) : 2
Channel(s) : 2 channels
Channel positions : Front: L R
Channel positions : 2/0/0
ChannelLayout : L R
Samples per frame : 1024
Sampling rate : 48000
Sampling rate : 48.0 kHz
Samples count : 4447248
Frame rate : 46.875
Frame rate : 46.875 FPS (1024 spf)
Frame count : 4343
Compression mode : Lossy
Compression mode : Lossy
Stream size : 2223617
Stream size : 2.12 MiB (3%)
Stream size : 2 MiB
Stream size : 2.1 MiB
Stream size : 2.12 MiB
Stream size : 2.121 MiB
Stream size : 2.12 MiB (3%)
Proportion of this stream : 0.03443
Default : Yes
Default : Yes
Alternate group : 1
Alternate group : 1
MediaInfoLib - v0.7.91
--------------------------------
이렇게 인코딩한 파일을 팟플레이어로 재생하는데요.
팟플레이어에서 D키를 누르면 '이전 프레임'으로 이동합니다.
캡쳐를 할 필요가 있어서 D키로 이전 프레임 이동을 하는데 이렇게 인코딩 한 파일에서 D키로 이전 프레임 이동을 할 때
장면이 전환되는 부분에서(예를들어 카메라 앵글이 전체샷에서 확대샷으로 전환될 때) 렉이 걸려 멈추고 D를 계속 눌러서 아예 그전으로 이동해야 다시 보입니다.
표현을 잘 못했는데.. 혹시 설정 중에서 프레임 이동 시에 문제가 될 만한 옵션이 있나요?..
그건 인코딩 속성상 당연한 겁니다.
ReFrames : 5 frames => 보이시죠?
이건 P 프레임들이 앞의 5 프레임(I와 P, 경우에 따라선 B도)을 참조해서 빠진 데이터를 채워넣는다는 얘기입니다. 즉, 최소 앞의 5 프레임이 있어야 P 프레임을 완전한 한 장의 picture로 보여줄 수 있다는 얘기니, frame 단위로 앞으로 이동할 때는 그 앞의 5 프레임들을 가져와야 제대로 보여줄 수 있다는 거죠. 정방향으로 이동할 때는 이미 앞의 프레임들을 갖고 온 상태이기 때문에 멈칫거리는 현상(stuttering)이 거의 없는데, 역방향으로 이동하면 이렇게 그 이전의 프레임들을 가져오는 과정이 있어야 되기 때문에 stuttering이 생기는 겁니다.
그렇다면 왜 reference frame들을 넣느냐면, 인코딩 압축 효율을 높이기 위해서입니다. 완전한 스무 장의 그림보단 완전한 다섯 장의 그림과 움직임 차이만 기록한 나머지 그림들이 데이터 용량은 훨씬 줄겠죠.