SoC 2010/Youtube Integration VLMC

From VideoLAN Wiki
Jump to navigation Jump to search
This project is part of Google Summer of Code 2010.
Student: Rohit Yadav
Mentor: Ludovic Fauvet

Youtube Integration+ in VLMC

Abstract

Youtube is the most popular video sharing website, right now. VLMC is a video editing software and having features in VLMC to search-retrieve videos, directly upload/update/delete videos on Youtube, within the application itself, would be awesome. The aim of this project is to write a small C++/Qt based Youtube client library for VLMC that provides her all the APIs to perform all those things.

Milestones

Task Date of completion
Sharing option, video export/rendering for Youtube 24 May 2010
Port VLMC to Mac OS 27 May 2010
DEB/RPM support in Build System 29 May 2010
Youtube API key, Authentication
Network Proxy support, Youtube credential storage
Direct Video Upload!
Import media from Youtube (Search and Retrieval)

Short Term Goals

1. Write mechanism to refine video exporting method according to formats, quality etc.

2. Integrate network settings, like proxy etc. [IN PROGRESS]

3. Write authentication/networking tests.

4. Video Upload etc.

Proposed Timeline

Objective Proposed Duration Status
Get Youtube Developer Key, study authentication protocol and start hacking VLMC.

May 24 - May 30

Completed

Implement and test authentication API in VLMC. Export movie project + UI (supported formats). Start studying and implementation of direct upload API.

May 31 - June 20

In Progress

Direct upload must be implemented by now(+/-1 week).

Add option in VLMC preferences to configure Network Proxy and manage Youtube credentials.

June 20 - June 27 In Progress

Start working on video searching and retrieval from Youtube.

Make custom widgets that hold video thumbnails, searching window that holds results...

By now the project should reach completion of all major objectives.

June 28 - July 25

Given time, implement other Youtube APIs like:

updating video information, deleting video, create/update/delete playlist etc.

Use these APIs in VLMC to implements more features.

July 26 - August 8

Prepare final report and patch covering all the work done during the SoC.

August 9 - August 15
Submit patches to Google, SoC Over! >16 August

Repository

Repo at Github: http://github.com/rohityadav/vlmc

Builds

VLMC 0.1.1:

VLC 1.1git:

References

  • VLC Build Configuration:
       mkdir build && cd build && ../configure --prefix=/usr --enable-snapshot --enable-debug \
       --enable-dbus-control --enable-mozilla \
       --enable-lirc --enable-live555 \
       --enable-x264 --with-x264-tree=../extras/x264-trunk --enable-shout --enable-taglib \
       --enable-v4l --enable-dvb --enable-realrtsp --enable-svg   --enable-dvdread \
       --enable-dc1394 --enable-dv --enable-theora --enable-faad --enable-twolame --enable-real \
       --enable-flac --enable-tremor --enable-dirac \
       --enable-skins2 --enable-qt4 --enable-ncurses --enable-aa --enable-caca --enable-portaudio \
       --enable-jack --enable-xosd --enable-avcodec --enable-avformat --enable-swscale \
       --enable-mad --enable-a52 --enable-libmpeg2 --enable-dvdnav --enable-vorbis --enable-ogg \
       --enable-theora --enable-mkv --enable-freetype --enable-fribidi --enable-speex --enable-flac \
       --enable-alsa --with-ffmpeg-mp3lame --with-ffmpeg-faac