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

From VideoLAN Wiki
Jump to navigation Jump to search
(updated links)
 
(49 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:
  
        ../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