Difference between revisions of "SoC 2010/Youtube Integration VLMC"

From VideoLAN Wiki
Jump to navigation Jump to search
(updated links)
 
(37 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 17: Line 17:
 
| 24 May 2010
 
| 24 May 2010
 
|-
 
|-
| Port VLC to Mac OS (Just for fun :P)
+
| Port VLMC to Mac OS  
 
| 27 May 2010
 
| 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]
 
 
 
3. Write Export Dialog. [DONE]
 
 
 
4. Write mechanism to render movie to a temporary directory, while blocking video editing. [DONE]
 
 
 
5. Write mechanism to refine video exporting method according to formats, quality etc.
 
  
6. Integrate Youtube settings (API key etc...) in VLMC. [DONE]
+
1. XML parsing, copy url(s) to clipboard...
  
7. Integrate network settings, like proxy etc. [IN PROGRESS]
+
2. Handling Network/YT failure.
  
8. Write authentication/networking tests.
+
3. NSIS/Windows build problem.
  
9. Video Upload etc.
+
4. Mac detatched video widget bug.
 
 
10. Port VLMC to Mac OS [DONE]
 
  
 
== Proposed Timeline  ==
 
== Proposed Timeline  ==
Line 70: 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 108: 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 131: 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