SoC 2010/Youtube Integration VLMC: Difference between revisions

From VideoLAN Wiki
Jump to navigation Jump to search
Rohityadav (talk | contribs)
Rohityadav (talk | contribs)
updated links
 
(40 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{SoCProject|year=2010|student=[[User:rohityadav|Rohit Yadav]]|mentor=[[User:etix|Ludovic Fauvet]]}}  
{{SoCProject|year=2010|student=[[User:rohityadav|Rohit Yadav]]|mentor=[[User:etix|Ludovic Fauvet]]}}  


= Youtube Integration in VLMC =
= Youtube Integration+ in VLMC =


== Abstract ==
== Abstract ==
Line 16: Line 16:
| Sharing option, video export/rendering for Youtube  
| Sharing option, video export/rendering for Youtube  
| 24 May 2010
| 24 May 2010
|-
| Port VLMC to Mac OS
| 27 May 2010
|-
| DEB/RPM support in Build System
| 29 May 2010
|-
| Mac Bundle / DMG in Build System
| 30 May 2010
|-
|-
| Youtube API key, Authentication  
| Youtube API key, Authentication  
|  
| 11 June 2010
|-
|-
| Network Proxy support, Youtube credential storage
| Network Proxy support
|
| 15 August 2010
|-
|-
| Direct Video Upload!  
| Direct Video Upload!  
|  
| 19 June 2010
|-
| YouTube XML Feed Parser
| 5 July 2010
|-
|-
| Import media from Youtube (Search and Retrieval)
|
|}
|}


== Short Term Goals ==
== Short Term Goals ==


1. Get to know working of Youtube Protocols [DONE]
0. Proxy support.


2. Hack VLMC and create repo. [DONE]
1. XML parsing, copy url(s) to clipboard...


3. Write Export Dialog. [DONE]
2. Handling Network/YT failure.


4. Write mechanism to render movie to a temporary directory, while blocking video editing. [DONE]
3. NSIS/Windows build problem.


5. Write mechanism to refine video exporting method according to formats, quality etc.
4. Mac detatched video widget bug.
 
6. Integrate Youtube settings (API key etc...) in VLMC. [IN PROGRESS]
 
7. Integrate network settings, like proxy etc. [IN PROGRESS]
 
8. Write authentication/networking tests.
 
9. Video Upload etc.
 
10. Build VLMC on Mac OS (Rework in cmake build system) [IN PROGRESS]


== Proposed Timeline  ==
== Proposed Timeline  ==
Line 67: Line 67:
|-
|-
|  
|  
Implement and test authentication API in VLMC. Export movie project + UI (supported formats).  
Implement and test authentication API in VLMC.&nbsp;Export movie project + UI (supported formats). Start studying direct upload API. <br>  
Start studying and implementation of direct upload API. <br>  
 
|
|  
May 31 - June 20<br>
May 31 - June 20<br>  
| In Progress
 
| Completed
|-
|-
|  
|  
Direct upload must be implemented by now(+/-1 week). <br>
Direct upload must be implemented by now. <br>  
 
Add option in VLMC preferences to configure Network Proxy and manage Youtube credentials. <br>  


| June 20 - June 27  
| June 20 - June 27  
| In Progress
| Completed.
|-
|-
|  
|  
Start working on video searching and retrieval from Youtube.<br>  
Add option in VLMC preferences to configure Network Proxy and manage Youtube credentials. <br>
 
Make custom widgets that hold video thumbnails, searching window that holds results...<br>
 
By now the project should reach completion of all major objectives.


| June 28 - July 25  
| June 28 - July 25  
| <br>
| Completed.<br>
|-
|-
|  
|  
Given time, implement other Youtube APIs like: <br>
Other feature(s) in VLMC...<br>
 
updating video information, deleting video, create/update/delete playlist etc. <br>  
 
Use these APIs in VLMC to implements more features.


| July 26 - August 8  
| July 26 - August 8  
| <br>
| Completed.
|-
|-
|  
|  
Line 105: Line 96:


| August 9 - August 15  
| August 9 - August 15  
| <br>
| Completed
|-
|-  
| Submit patches to Google, SoC Over!  
| Submit patches to Google, SoC Over!  
| &gt;16 August  
| &gt;16 August  
| <br>
| DONE!
|}
|}
Tracker: https://spreadsheets.google.com/ccc?key=0Avd3p221yiM5dEg0WDBIY0ZkNXUzczRpVzNrWDNuUVE&hl=en#gid=0


== Repository  ==
== Repository  ==


Repo at Github: http://github.com/rohityadav/vlmc
=== VLMC ===
 
VideoLAN Movie Creator is a non-linear editing software for video creation based on libVLC and running on Windows, Linux and Mac OS X.
* http://github.com/bhaisaab/vlmc
 
=== Libishare ===
 
A small library that lets you share videos on popular video sharing sites such as YouTube.
* http://github.com/bhaisaab/libishare
 
[https://www.ohloh.net/accounts/58276?ref=Detailed https://www.ohloh.net/accounts/58276/widgets/account_detailed.gif]


== Builds ==
== Builds ==


VLC 1.1-rc 32Bit Mac OS 10.6 Build : http://rohityadav.in/projects/videolan/vlc-1.1.0-rc.dmg
Coming soon!


== References  ==
== References  ==
Line 128: Line 131:
* VLC Build Configuration:
* VLC Build Configuration:


        mkdir build && cd build && ../configure --prefix=/usr --enable-snapshot --enable-debug \
  mkdir build && cd build    
        --enable-dbus-control --enable-mozilla \
 
        --enable-lirc --enable-live555 \
  ../configure --prefix=/usr --enable-snapshot --enable-dbus-control --enable-mozilla --enable-lirc --enable-live555 --enable-x264 --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 --enable-x11 --enable-xvideo --disable-gtk --enable-sdl --enable-avcodec --enable-avformat --enable-swscale --enable-mad --enable-libdvbpsi --enable-a52 --enable-libmpeg2 --enable-dvdnav --enable-faad --enable-vorbis --enable-ogg --enable-theora --enable-faac --enable-mkv --enable-freetype --enable-fribidi --enable-speex --enable-flac --enable-alsa --disable-kde --enable-qt4 --enable-ncurses --enable-release
        --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

Latest revision as of 21:31, 9 June 2012

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
Mac Bundle / DMG in Build System 30 May 2010
Youtube API key, Authentication 11 June 2010
Network Proxy support 15 August 2010
Direct Video Upload! 19 June 2010
YouTube XML Feed Parser 5 July 2010

Short Term Goals

0. Proxy support.

1. XML parsing, copy url(s) to clipboard...

2. Handling Network/YT failure.

3. NSIS/Windows build problem.

4. Mac detatched video widget bug.

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 direct upload API.

May 31 - June 20

Completed

Direct upload must be implemented by now.

June 20 - June 27 Completed.

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

June 28 - July 25 Completed.

Other feature(s) in VLMC...

July 26 - August 8 Completed.

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

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

Tracker: https://spreadsheets.google.com/ccc?key=0Avd3p221yiM5dEg0WDBIY0ZkNXUzczRpVzNrWDNuUVE&hl=en#gid=0

Repository

VLMC

VideoLAN Movie Creator is a non-linear editing software for video creation based on libVLC and running on Windows, Linux and Mac OS X.

Libishare

A small library that lets you share videos on popular video sharing sites such as YouTube.

account_detailed.gif

Builds

Coming soon!

References

  • VLC Build Configuration:
 mkdir build && cd build      
 ../configure --prefix=/usr --enable-snapshot --enable-dbus-control --enable-mozilla --enable-lirc --enable-live555 --enable-x264 --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 --enable-x11 --enable-xvideo --disable-gtk --enable-sdl --enable-avcodec --enable-avformat --enable-swscale --enable-mad --enable-libdvbpsi --enable-a52 --enable-libmpeg2 --enable-dvdnav --enable-faad --enable-vorbis --enable-ogg --enable-theora --enable-faac --enable-mkv --enable-freetype --enable-fribidi --enable-speex --enable-flac --enable-alsa --disable-kde --enable-qt4 --enable-ncurses --enable-release