2014/02 3

Video Processing at Dropbox

Video Processing at Dropbox 드롭박스에 올리는 영상들을 모든 기기에서 자연스럽게 보여주기 위해 어떻게 하고 있는지을 오픈했다. 오디션 서비스에서 계속 고민하던 것들과 하고 싶었던 것들이 씌여있더라. 대단하다. Transcoding을 위해 최고사양의 EC2 인스턴스를 사용하고 있다. 우리는 같은 카테고리에서 제일 싼 타입을 쓰고 있는데... 영상을 5초 단위로 잘게 쪼갠다. 처음 몇 개의 세그먼트는 미리 준비해둔다. 영상을 재생하려고 할 때, 나머지 부분을 Transcoding 한다. mp4, HLS 개인적으로는 mp4가 대부분의 환경에서 지원하니까 모든 영상을 mp4로 바꾸는데 최적화시킨 ffmpeg를 고민하고 있었는데...

Story 2014.02.20

vagrant에 설치된 mysql 접속하기

vagrant에 mysql을 설치해두고 vagrant 외부에서 접속하기가 계속 실패한다. vagrant의 네트워크 설정은 private으로 해두었고, 22, 80 포트는 잘된다. 접속을 시도했을 때 나오는 에러 내용은 다음과 같다. 외부에서 요청은 보냈으나 mysql 쪽에서 오는 응답을 못 받았다는 것. The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. Caused by: java.net.ConnectException: Connection refused 이 문제는 mysql 설정을 바꾸어서 해결했다. /etc/mysql/my...

Unix Linux 2014.02.15

쿠키를 이용한 서버간의 세션 공유

기존에 있는 서버는 CakePHP 기반이고, 새로 준비하는 서버는 Play Framework (Java) 기반이다. CakePHP 에서 로그인을 한 후 생기는 세션을 Play 에서도 공유하고자 한다. 이렇게 해놓고나서 기능을 조금씩 조금씩 Play 로 이사할 계획이다. CakePHP 는 4가지 세션 저장 방식을 제공하는데, 기본으로 제공되는 Cake의 것을 사용하면 서버 쪽에 세션 내용을 담은 파일을 저장해두고, 이 파일을 가리키는 해쉬값만 HTTP 쿠키에 저장해둔다. Play 에서 이 해쉬값을 가지고 처리를 하려면 임시 세션 파일을 읽을 수 있어야 한다. 또한, 임시 저장되는 세션 파일의 내용도 약간 특이한 구조를 가지고 있어서 읽어들이는 처리도 쉽지 않다. Play Framework 는 CakePHP..

Web Programming 2014.02.11