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
 
(50 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 13: Line 13:
! Task  
! Task  
! Date of completion
! 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  
| Youtube API key, Authentication  
|  
| 11 June 2010
|-
|-
| Network Proxy support, Youtube credential storage
| Network Proxy support
|  
| 15 August 2010
|-
|-
| Sharing option, video export for Youtube
| Direct Video Upload!
|  
| 19 June 2010
|-
|-
| Direct Video Upload!
| YouTube XML Feed Parser
|  
| 5 July 2010
|-
|-
| Import media from Youtube (Search and Retrieval)
|
|}
|}


== Short Term Goals ==


0. Proxy support.


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


1. Get to know working of Youtube Protocols [DONE]
2. Handling Network/YT failure.


2. Hack VLMC and create repo. [DONE]
3. NSIS/Windows build problem.


3. Write Export Dialog. [DONE]
4. Mac detatched video widget bug.
 
4. Write mechanism to render movie to a temporary directory, while blocking video editing. [IN PROGRESS]
 
5. Write mechanism to refine video exporting method according to formats, quality etc.
 
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.<br>
 
10. ...


== Proposed Timeline  ==
== Proposed Timeline  ==
Line 69: Line 67:
|-
|-
|  
|  
Implement and test authentication API in VLMC.&nbsp;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>  
|
 
| 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  
| <br>
| 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 107: 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 ==
 
Coming soon!


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


mkdir build && cd build && ../configure --prefix=/usr \
  mkdir build && cd build    
        --enable-snapshot --enable-debug \
 
        --enable-dbus-control --enable-mozilla \
  ../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-lirc \
        --enable-live555 --with-live555-tree=../extras/live \
        --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 \
        --with-ffmpeg-mp3lame --with-ffmpeg-faac \
        --enable-quicktime --enable-dirac \
        --enable-skins2 --enable-qt4 \
        --enable-ncurses \
        --enable-aa --enable-caca \
        --enable-portaudio \
        --enable-jack --enable-xosd \
        --enable-goom --enable-avcodec --enable-avformat --enable-swscale \
        --enable-mad --enable-a52 --enable-libmpeg2 --enable-dvdnav --enable-faad \
        --enable-vorbis --enable-ogg --enable-theora --enable-mkv --enable-freetype \
        --enable-fribidi --enable-speex --enable-flac -enable-alsa \
        --enable-qt4 --enable-ncurses

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