장면 전환 지점을 재생 막대에서 보고 바로 이동하게 했습니다
영상에서 장면이 바뀌는 지점을 찾아 재생 막대에 표시하는 Windows 동영상 플레이어입니다. 장면 전환은 OpenCV 프레임 차이와 VGG16 특징 거리 두 방식으로 찾고, 저는 장면 검출을 뺀 플레이어 기능을 모두 개발했습니다.
- 8가지상세 패널에서 다루는 기능
- 2가지플레이어에 연결한 장면 검출 방식
- 10%Ctrl+휠 한 번에 좁히는 타임라인 범위
재생 막대의 노란 표식이 장면이 바뀌는 지점입니다. 표식에 마우스를 올리면 그 프레임을 미리 보여 줍니다.
- 맡은 역할
- 장면 전환 검출 알고리즘을 뺀 플레이어 기능을 모두 개발했습니다. 재생 막대의 분할 지점 표시와 미리보기, 타임라인 확대, 장면 이동, 분할 지점 편집과 저장, ffmpeg 구간 저장, 미디어 정보 창을 만들었습니다.
- 만들어낸 결과
- 파이썬 검출 결과를 플레이어로 받아, 장면 전환 지점을 재생 막대에 표시하고 미리보기와 이동, 수정, 구간 저장까지 한 화면에서 하게 했습니다.
- 1분할 지점 표시검출된 프레임을 재생 막대 위 표식으로 표시
- 2미리보기와 이동표식에 마우스를 올리면 그 프레임을 미리 보여 주고, 누르면 이동
- 3타임라인 확대Ctrl+휠로 마우스 위치를 중심으로 확대와 축소
- 4편집과 저장분할 지점 추가와 삭제, 메타정보 저장, ffmpeg 구간 저장
이 기술로 기대하는 변화
긴 영상도 장면 단위로 탐색
이전 장면, 다음 장면 버튼과 막대 위 표식으로 원하는 장면을 찾아갑니다.
촘촘한 지점도 확대해서 고르기
Ctrl+휠로 마우스 위치를 중심으로 타임라인을 넓혀, 가까이 붙은 분할 지점도 구분해 고릅니다.
자동 검출 결과를 사람이 다듬기
잘못 잡힌 지점은 지우고 빠진 지점은 더해 저장하므로, 자동 검출 뒤 손으로 고치는 작업이 한 화면에서 이어집니다.
문제와 해결
문제타임라인을 확대한 채 다음 장면으로 넘어가면 지점이 보이는 범위 밖으로 나갔습니다.
해결이동할 지점이 범위를 벗어나면 그보다 5초 넓게 범위를 늘려 보여 주게 했습니다.
문제OpenCV로 구간을 저장하면 소리가 빠졌습니다.
해결ffmpeg로 구간을 잘라 소리까지 저장했습니다.
문제플레이어는 파이썬 검출이 언제 끝나는지 알 수 없었습니다.
해결결과 파일이 생기면 지점을 그리고 버튼을 켜며, 검출이 도는 동안에는 새 검출을 막았습니다.
플레이어 화면
장면 분할 실행과 장면 이동, 분할 지점 편집, 구간 저장을 이 패널에서 합니다. 영상의 코덱과 해상도 같은 정보도 보여 줍니다.