안녕하세요.
이글을 쓰는 이유는 이곳에서 한명쯤은 LG 관계자 분들이 있을 것이라고 생각하구요.
또한 사용하시는 고객분들이 LG 쪽에 클레임을 걸어 주셔야지 다음번 펌웨어 업데이트에 개선될 문제인 듯하고,
LG폰도 더 좋은 품질로 개선되었으면 하는 마음에 글을 씁니다.
우선 대부분의 동영상의 Seek 동작에 대해서 간단히 설명하면
APP에서 Seek(5000) 이런식으로 5000ms 로 이동해라 하고 명령을 내리면, (APP에서는 단순히 함수 호출 1라인이랍니다.)
하단의 코덱에서 5000 위치부터 디코딩을 시작해서 화면에 뿌리게 됩니다.
그런데, 문제는 대부분의 동영상 압축 코덱이 압축률을 높이기 위해서요.
I-프레임 (이 화면만 가지고 디코딩하여 화면에 출력할 수 있는 화면데이타)
P-프레임 (이전 화면의 차이 정보만 가지고 있는 화면데이타, I-프레임이 없으면 해석못함)
B-프레임 (다음 화면과의 차이 정보만 가지고 있는 화면 데이타, 후방 검색에 사용하는데, 대부분의 동영상에서 별로 사용안함)
I P P P P P P P P P P I P P P P P P P P P P I P P P P P P P P P P
^ ^ ^ ^ ^
0초 5초 현재위치 (10초) 12 14초
이런식으로 저장을 하거든요.
만약, 14초로 Seek 를 하면 I 하나 P하나 2개만 디코딩해서 화면에 출력하게 되구요.
12초는 현재 위치까지 정보가 있기 때문에 P 4개만 디코딩해서 화면 출력하면 됩니다.
그런데, 앞으로 검색하는 5초의 경우
이전정보가 아무것도 없기 때문에
이전의 I-프레임 위치를 찾고, 그 위치 부터 디코딩을 해서 5초위치까지 디코딩 후에 화면에 출력해야 합니다.
(속도상으로 가장 느린 것이 앞쪽으로 이동하는 것이랍니다.)
뭐 정상적으로 코덱을 만들었다면, 좀 느리기는 해도 이렇게 돌아가야 겠지요.
그런데, 옵티머스Q의 경우는 현재위치 보다 앞으로 Seek (앞의 5초의 경우) 를 하면,
Seek를 못하는 다는 이야기를 계속 하더군요.
이런 이유는
1. 코덱의 버그, 앞쪽으로 seek 하는 알고리즘에 버그가 있는 경우 입니다.
2. 또는 속도가 너무 떨어져서 강제로 에러처리 하는 경우도 더러 있습니다.
옵티머스Q 사용자 분들,
보다 품질좋은 폰을 소유하시기 위해서는 여러분들의 클레임 한번이 제조사를 움직일 수 있답니다.
수고하세요!
저는 동영상 재생프로그램의 문제인줄 알았어요 ;;