게시물에 영상 파일을 첨부해서 본문 삽입을 했을 때 (웹브라우저의 기본형 video 플레이어가 아니라) 링크프리뷰 모듈의 내장 플레이어를 바로 작동시키는 데 성공했습니다. 그냥저냥 이짝저짝 우당탕탕으로요ㅋ
- 요렇게 영상 파일을 첨부한 뒤 '본문 삽입을 하면' ffmpeg 머시기가 없어도 (영상의 첫프레임을 기준으로) 비디오 썸네일이 만들어지고 파일 목록에도 예쁘게 반영됩니다.
- 사실 개별 영상에 이렇게 썸네일 씌워주고 비디오 플레이어를 삽입하는 것 자체는 어렵지 않았습니다. 이미 만들어둔 내장 플레이어가 있으니 거기에 적용하면 됐으니까요. (참조) 그리고 기진곰님의 조언도 있고 해서 으쌰으쌰 할 수 있었습니다. (참조)
- 까다로웠던 것은 여러 개의 파일을 한꺼번에 본문삽입하는 경우였습니다. 왜냐면 코어에서는 이럴 때 파일 하나씩 따로따로 삽입을 해주는 방식인데, 사실 저는 여러 파일이 삽입되면 이를 하나의 동작으로 인식하고 거기에 포함된 영상들을 모아 하나의 재생목록을 만들어서 하나의 플레이어에서 재생시키고 싶었거든요. 생각만 해도 쉽지 않고 또 번거로울 거 같죠? 그런데 제 주제에 이걸 해냈습니다 캬캬캬캬
- 이렇게 플레이어 우측 상단에 현재 영상의 순번과 total_count가 나오구요. 그 부분을 클릭하면 재생 목록이 나오는 방식입니다. 당연히 목록의 항목들을 클릭하면 해당 영상이 나오지요.
- 사실 이 과정 때문에 굉장히 애먹었습니다. 코어의 js 동작을 가로채는 게 제 수준에서 쉽지 않았기 때문입니다. 관건은 코어의 파일업로드쪽 main.js의 메서드들을 오버라이딩하는 거였습니다. 그중에서 insertContent를 발견, 어렵지 않게 오버라이딩을 했습니다. 보통은 삽입을 기다리는 첨부파일을 루프 돌리면서 바로바로 다운로드용 html을 뿌려주는데요. 저는 여기서 파일이 video인 경우에는 따로 html을 모았다가 루프가 끝나면 한번에 쏴주도록 했습니다. 그런 다음 html이 한번에 들어오면 얘를 matchAll 메소드로 가려내서 재생목록을 생성하도록 했죠. ㅎㅎ
- 그런데 난관이 하나 더 있었습니다. 위 방법은 첨부파일 목록에 있는 비디오 파일을 멀티체크해서 본문삽입을 하는 경우에 해당했는데, 에디터 설정에 따라 파일 첨부와 동시에 본문 삽입을 하는 동작은 여기에 해당이 안 되더라는 거죠. 이거는 일반적인 함수 오버라이딩으로는 안 되는 settings와 관련된 부분이었고 덕분에 한참을 헤매다가 insertContent와 마찬가지로 settings도 조작에 성공해서 재생목록 생성에 성공할 수 있었습니다ㅎㅎ
- 그 결과, 위의 그림들처럼 그냥저냥 잘 나오게 됐습니다.
- 이 기능은 기타 버그 및 기능 개선을 마무리한 뒤 링크프리뷰 다음 버전(0.3)에 포함시킬 예정입니다.
축하합니다. 윤삼님 화이팅~