포럼
유튜브 에디터 컴포넌트..? 제작을 위한 사전 작업 중입니다.
2014.05.17 02:41
오랜 숙원인 유튜브 정복을 위해서...-_-
에디터 컴포넌트가 어떻게 만들어야 하는 지는 일단은 모릅니다만....ㅋㅋ
우선 일반 페이지로... 유튜브 api를 이용해서... 만들어 봤습니다.
관련 소스는 인터넷에서 쉽게 구할 수 있더군요: ) (인터넷 검색에 고마움과 해당 자료를 배포해주신 분께 감사의 말씀을! - 저 같은 일반인에게는 아주 큰 도움이!!)
유튜브 API를 이용해서 업로드하는 방식은 크게 두가지 방식이 있습니다.
자신의 서버에 업로드를 한 후 유튜브로 재 전송해주는 방법과
사용자 브라우저를 기반으로 유튜브 서버로 다이렉트로 올리는 방법!
첫번째 방법은 안그래도 동영상 용량이 큰데... 본인에 서버에 올리다니요.. 어익후.. 말도 안됩니다..
당연히 두번째 방법이 우리 모두가 환영하는 방법이겠지요 :)
그리고 또... 업로드를 할 계정도 두가지 방식이 있습니다.
1. 사용자 계정에 업로드 (말그대로 사용자가 유튜브에 로그인해서 올리는 겁니다.) ID값은 리턴 받을 수 있음..
2. 업로드할 계정(관리자 계정)을 사전에 설정해서 별도의 로그인 과정 없이 자신이 설정한 계정에 업로드하는 방법
1번의 경우 말그대로 개인이 올리는 것이기 때문에 ~ 관리가 불가능하다는 점과 사용자가 마음대로 삭제할 수 있죠.. (사용자 계정에 올라간 거니까..)
2번의 경우 사용자가 올리면 삭제할 수 없고.. 관리자가 삭제나.. 이런 것들을 관리할 수 있죠.
근데 저작권 문제라던가 이건 관리자가 책임져야 합니다. 그리고 별도의 사용자에게 해당 내용을 인지시켜줘야 한다고 하더군요 (그래야 추후 문제가 안생긴다고...)
암튼 서론은 이쯤하고..
약간의 시행착오가 있었지만...
업로드는 문제 없이 되는 것을 확인!
동영상 ID 값도 잘 리턴해주더군요!
근데.. 문제가 있네요..
그..그것은 바로..
동영상이 얼마나 올라갔는지 진행상황을 전혀!!! 알 수 없다는 겁니다...
일반 사용자들이 이게 제대로 올라가는지.. 아닌지... 모르니 답답하죠..
특히 요즘 같은 스마트 시대에서는 말도 안되는 일입니다..
그래서 방법이 없는 걸까....
인터넷을 또 찾아보기 시작합니다.
ajax를 이용해서 프로그레스 바를 구현해주는 소스가 있군요!
무한 정보 공유에 감사의 말씀을 다시 한 번!
그래서 현재... 결과 물입니다.
파일 선택해서! 업로드! 업로드 진행 표시!
그리고 실제 업로드가 완료된 모습까지!
실제 업로드 진행표시가 종료됐을 때 올라가는 지 확인하기 위해
유튜브에서 새로고침하면서 테스트 해본 결과 99.9%이상 일치!!
(0.1%는 사람인지라 제가 체크를 못한 부분이 있을 가능성이 있기 때문)
우와 ... 대박이네.. 근데 뭐가 문제지..?
라는 생각을 하실 수 있는데...
문제가 있습니다..ㅠㅠ 네 문제가 있네요...
기존 유튜브 전송하는 소스는
업로드 선택 페이지(my html) -> 데이터 받는 페이지(youtube) -> 전송 완료후 리턴할 페이지(my html)
이렇게 3단계로 이동이 됩니다.
근데 현재 ajax를 이용하여 구현한 프로그레스..(이하 상태바)의 경우
ajax를 이용하여 POST로 데이터 받는 페이지(youtube)로 넘겨주게 되는데...
문제는 실제 전송하는 페이지에서 youtubeID라던지.. 이런 값을 리턴을 못시켜주는 게 문제입니다....
업로드까지는 잘되나..!! 리턴 값을 받을 수 없다는 게 함정....
일단 제가 ajax를 잘 모르기 때문에..
그리고 해당 api 자체가 (잘은 모르지만) returenPage ~ 방식으로 값을 다시 넘겨주는 것 같은데
이 값을 ajax로 다시 받는 게 가능한지 자체도 의문이고...-_-;;(혹시 아시는 분 계시면 큰 도움이 될 것 같습니다 !!)
실제 프로그레스바 구현 전에는
리턴 페이지에서
$ucc_url = $_REQUEST['id'];
$ucc_status = $_REQUEST['status'];
이런식으로 결과값을 받도록 되어 있더군요
아무튼.. 이건 좀 더 머리를 굴려봐야 겠네요...
(뭐 사실.. 이번 건 거의 얻어걸린거나.. 다름 없는지라..)