본문 바로가기

JOB/Program

VIMEO 영상 컨버팅 완료 여부 알아내기

VIMEO 영상은 업로드 직후 자체 컨버팅을 하게 된다.
이 컨버팅에 대해 컨버팅중인지 컨버팅이 끝났는지를 알기 위해서는 VIMEO가 제공하는 Simple API 를 활용하면 된다.

http://vimeo.com/api/v2/video/video_id.output 의 형식으로 제공되는데
Video_id 는 해당 영상을 볼때 접속하게 되는 주소 https://vimeo.com/62920984 에서 제일 뒤의 숫자를 사용하면 된다.
output 은 출력 형식인데 xml 을 사용하기로 한다.

위의 형식에 맞춰 http://vimeo.com/api/v2/video/고유번호.xml 와 같은 형태로 접속하게 되면 해당 비디오에 대한 데이터가 XML 로 뿌려진다. 이 데이터들을 PHP의 SimpleXml 함수를 활용해서 파싱한다. 파싱된 데이터중 해당 영상의 컨버팅 완료 여부를 확인할 수 있는 값은 duration 이다. duration 은 영상의 재생시간으로 단위는 초이며, 컨버팅 중에는 0으로 조회가 되고 컨버팅이 완료된 후에는 실재 영상 재생시간 값으로 조회가 된다.

이를 활용하기 위한 PHP 코드는 다음과 같다.
ini_set("allow_url_fopen","1");
$vimeo_feed = file_get_contents("http://vimeo.com/api/v2/video/고유번호.xml");
$vimeo = simplexml_load_string($vimeo_feed);
echo $vimeo->video->duration;