URL
EMBED
Page 0:
Page 1: Youtube Integration
박형준
Page 2: 옛날 그 시젃…
말뚝박기, 제기차기 겜보이…..
Page 3: 지금은 이렇게 달라졌습니다.
PC방.. 온라인게임… 네트워크 게임…
Page 4:
Page 5: 게임 동영상 UCC
• 아키에이지 http://www.inven.co.kr/board/powerbbs.php?come_idx=264 7&l=83 • 겟엠프드 http://blog.naver.com/ststst77?Redirect=Log&logNo=1101258 57324&jumpingVid=E6E8163CF35FEFAF336E1EEF6728AE06B3 F2 • 외국 유명 리플레이 포럼 http://www.gamereplays.org/
Page 6: 왜 필요한가?
• 유저들로 하여금 성취감을 줄 수 있다. • 유저가 즐거웠던 장면을 여러 사람들에게 공유함으로써 커뮤니티 기능을 강화할 수 있다. • 좋은 리플레이는 다른 유저들로 하여금 좋은 공부가 될 수 있다.
Page 7: 그렇다면 왜 유투브인가?
Page 8: 2011년 세계 최대 방문자 사이트 순위에서 유투브는 3위를 차지할 만큼 젂세계에서 이용률이 높습니다.
Page 9: 구글이 지원해주기 때문에 유투브 API을 통해서 PC와 연동하기가 쉽습니다. https://developers.google.com/youtube/?hl=ko
Page 10: 물롞 단점도 있다.
• 10분이상은 업로드할 방법이 없다. • 1GB이상의 파일 역시 업로드할 수 없다.
하지만 이는 제약사항일 뿐… 치명적인 단점이라고 할수만은 없다.
Page 11: 유투브가 적용된 게임
Page 12: 어떻게 녹화할 것인가?
Page 13: 직접 DirectShow와 같은 라이브러리를 이용하여 저레벨 단계에서 직접 제작할 수밖에 없지 않겠는가?
Page 14: 하지만 저레벨 단계에서 작업하는 게 쉬운 것이 아닙니다. 또 성능은 얼마나 안 나오겠습니까? 맨땅에 코딩하면서 못 볼 버그 다 보면서 하는 수 밖에요.
Page 15: 반디 라이브러리 특징
• 30여개의 게임에 이미 적용되어 사용되어지고 있으므로 안정성, 성능 면에서 검증되어져 있습니다. • 매우 빠릅니다. • 고품질의 캡처가 가능합니다. • 외부 파일의 의존성이 없습니다. • 소프트웨어 배포시 DLL 크기 또한 적습니다. • 한 타이틀당 하나의 라이선스만 적용이 됩니다. • 기존 프로젝트에 적용시키는 게 쉽습니다.
Page 16: 반디라이브러리를 사용함으로써 손쉽게 프로젝트에 캡처 기능을 적용시켜서 인게임에서 성능에 큰 영향 없이 사용하실 수 있습니다.
Page 17: 비싸! 그냥 만들어!
물론 대안이 있음에도… 외부적인 요인으로 인해 사용하지 못할 수도 있지요.
http://www.bandisoft.com/bandi_capture_library/sales/
Page 18: 대다수 게임들이 인게임에 녹화 기능을 포함하지 않기 때문에 오히려 외부 프로그램을 통해서 유저에게 선택권을 줄 수도 있습니다.
Page 19: 클라이언트 ID
소프트웨어 개발자 키 값
Page 20: 1. 로그인을 합니다.
http://code.google.com/apis/youtube/dashboard/
Page 21: 2. 현재 클라이언트 등록현황
Page 22: 3. 새 클라이언트를 등록합니다.
Page 23: 4. 등록을 완료합니다.
Page 24: 다음과 같이 사용할 수 있습니다.
클라이언트ID : coreafive 개발자키: AI39si4a8GX3anBQJ8lTpkyhFdQuKv6TDuga….
클라이언트 ID
소프트웨어 개발자 키 값
Page 25: 코드 살펴보기
유투브의 아이디와 비번을 입력을 받게 됩니다. 유투브의 HTTP 프로토콜 함수를 통해 승인 요청을 하게 됩니다. 만약 아이디와 비번이 옳지 않다면 승인 요청을 거젃하고 더 이상 짂행이 되지 않을 것입니다.
Page 26: 코드 살펴보기
샘플 코드에서는 파일 이름을 제외한 부분은 모두 하드코딩 되어져 있지만 입맛에 맞게 편집할 수 있도록 하여도 됩니다. 업로드가 완료되면 앞서 말한 제약사항이나 불의의 경우를 제외 한 안정적으로 성공되었다는 것을 얻을 수 있습니다.
Page 27: 그림으로 살펴보기
Page 28: 샘플에서 사용되어짂 것
libCurl
HTTP통신을 위한 라이브러리 아이디, 비번을 보내여 유 투브 서비스에 승인 요청!
유투브에 동영상 업로드 를 요청!
TinyXML
응답에 대한 파싱을 위한 라이브러리
아이디, 비번에 대한 승인 요청에 대한 응답 파싱!
동영상 업로드에 대한 응답 파싱!
Page 29: 각 각의 필요한 라이브러리를 사용함으로써 거기에 대해 새로 공부할 필요 없이 유투브와 연동할 수 있습니다.
Page 30: 직접 테스트해보기
• http://www.youtube.com/user/GamasutraTest • 실행파일
Page 31: 참고자료
• http://www.gamasutra.com/view/feature/132249/share_your _experience_youtube_.php • http://www.bandisoft.com/bandi_video_library/
Page 32: