GSOC 2017: Difference between revisions
(Added ActivityPub port potential project) |
|||
(12 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
We are hoping to participate in [https://developers.google.com/open-source/gsoc/ GSOC |
We are hoping to participate in [https://developers.google.com/open-source/gsoc/ GSOC 2017] under the GNU umbrella. |
||
You may want to check for a "possible mentor" before applying for this topic. If you have your own idea, probably bring it up in #mediagoblin on irc.freenode.net ! |
You may want to check for a "possible mentor" before applying for this topic. If you have your own idea, probably bring it up in #mediagoblin on irc.freenode.net ! |
||
Line 14: | Line 14: | ||
It's important that you communicate... most MediaGoblin communication happens on IRC, so you should [http://webchat.freenode.net/?channels=mediagoblin join us there] and discuss (#mediagoblin on irc.freenode.net)! Please, please join our channel and introduce yourself. We would love to hear from you ! |
It's important that you communicate... most MediaGoblin communication happens on IRC, so you should [http://webchat.freenode.net/?channels=mediagoblin join us there] and discuss (#mediagoblin on irc.freenode.net)! Please, please join our channel and introduce yourself. We would love to hear from you ! |
||
= Possible projects with mentors |
= Possible projects with mentors = |
||
== |
== Multiple qualities of video == |
||
⚫ | Now MediaGoblin supports only a single quality of video files. We want to fix that and support multiple qualities: 360p, 480p, 720p, 1080p, [https://en.wikipedia.org/wiki/Ultra-high-definition_television 4k]. This requires changes to frontend and to backend. To implement it, one must have some experience in JavaScript and Python. |
||
We want to have multi-upload from cli (usecase: go to my directory with photos and upload them all) and from web-interface (using maybe zip, maybe html5 feature). There is already https://github.com/VenKamikaze/mediagoblin-html5-multi-upload which might be what we need, so before choosing this task please verify. |
|||
There are some hidden issues though. For example, when a user uploads a video in 1080p, it will have to be transcoded to all other qualities. But it will take a lot of time. Ideally, we don't want to wait for all variants to be ready before we can already display the video. Also, if several videos were uploaded, we don't want to get blocked on the first one getting transcoded for a long time. |
|||
'''Possible Mentors:''' Christopher Allan Webber, Boris Bobrov (breton). |
|||
== Subtitle interface. == |
|||
'''Possible Mentors:''' Christopher Allan Webber, Boris Bobrov (breton). |
|||
We want subtitle support for our player. Subtitles should be supported as separate files and as embedded into video/audio files. Popular formats should be supported. Also, there can be multiple subtitles per video. It will require work on front-end and maybe some fixes to backend. |
|||
== Multiple qualities of video. == |
|||
⚫ | Now MediaGoblin supports only a single quality of video files. We want to fix that and support multiple qualities: 360p, 480p, 720p, 1080p, [https://en.wikipedia.org/wiki/Ultra-high-definition_television 4k]. This requires changes to frontend and to backend. To implement it, one must have some experience in JavaScript and Python. |
||
''' |
* '''Mentor''': Boris Bobrov (breton) |
||
* '''Difficulty''': Medium or High, depending on the design |
|||
* '''Required skills''': Python, JavaScript. Nice to have: celery, gstreamer |
|||
== Port federation code to ActivityPub == |
== Port federation code to ActivityPub == |
||
Right now we have a federation branch to be merged shortly by Jessica Tallon. This adds basic federation support to MediaGoblin. Right now the federation code is based on the [https://github.com/e14n/pump.io/blob/master/API.md Pump API]; however, we'd like to port it to the work we're doing on [https://www.w3.org/TR/activitypub/ ActivityPub] as part of the [https://www.w3.org/wiki/Socialwg W3C Social Working Group]. ActivityPub is fairly close to the Pump API, but there are some differences (most notably a move from ActivityStreams 1.0 to ActivityStreams 2.0, |
Right now we have a federation branch to be merged shortly by Jessica Tallon. This adds basic federation support to MediaGoblin. Right now the federation code is based on the [https://github.com/e14n/pump.io/blob/master/API.md Pump API]; however, we'd like to port it to the work we're doing on https://www.w3.org/TR/activitypub/[https://www.w3.org/TR/activitypub/ ActivityPub] as part of the [https://www.w3.org/wiki/Socialwg W3C Social Working Group]. ActivityPub is fairly close to the Pump API, but there are some differences (most notably a move from ActivityStreams 1.0 to ActivityStreams 2.0, although there are others). Your mission, if you choose to accept it, is to port MediaGoblin's federation code to ActivityPub, ideally while supporting the Pump API in a backwards compatible fashion (if possible). |
||
Jessica Tallon |
Jessica Tallon willing to personally mentor this one. So if you wanted to learn about federation from the source itself, here's the way to do it! |
||
'''Possible mentors''': Jessica Tallon |
* '''Possible mentors''': Jessica Tallon (tsyesika) |
||
* '''Difficulty''': TODO |
|||
* '''Required skills''': Python |
Latest revision as of 19:08, 4 March 2017
We are hoping to participate in GSOC 2017 under the GNU umbrella.
You may want to check for a "possible mentor" before applying for this topic. If you have your own idea, probably bring it up in #mediagoblin on irc.freenode.net !
How do I apply as a student ?
- Submit your application. Please see the application submission template on the GNU GSoC guidelines page.
- Join us on IRC and on our mailing lists.
- Set up a development environment via our HackingHowto
- If you have never done web development in python before, MediaGoblin is a pretty good place to start ! However, we highly recommend going through the Django tutorial... this isn't a requirement, but it will help you be better prepared.
- Work on a small task, and mention it in your application. The bitesized list is often helpful.
- Also, be aware when submitting: Summer of Code applicants are expected to work 40 hours per week... so, a full time internship ! If you propose, please be sure you are ready to make that level of commitment.
It's important that you communicate... most MediaGoblin communication happens on IRC, so you should join us there and discuss (#mediagoblin on irc.freenode.net)! Please, please join our channel and introduce yourself. We would love to hear from you !
Possible projects with mentors
Multiple qualities of video
Now MediaGoblin supports only a single quality of video files. We want to fix that and support multiple qualities: 360p, 480p, 720p, 1080p, 4k. This requires changes to frontend and to backend. To implement it, one must have some experience in JavaScript and Python.
There are some hidden issues though. For example, when a user uploads a video in 1080p, it will have to be transcoded to all other qualities. But it will take a lot of time. Ideally, we don't want to wait for all variants to be ready before we can already display the video. Also, if several videos were uploaded, we don't want to get blocked on the first one getting transcoded for a long time.
- Mentor: Boris Bobrov (breton)
- Difficulty: Medium or High, depending on the design
- Required skills: Python, JavaScript. Nice to have: celery, gstreamer
Port federation code to ActivityPub
Right now we have a federation branch to be merged shortly by Jessica Tallon. This adds basic federation support to MediaGoblin. Right now the federation code is based on the Pump API; however, we'd like to port it to the work we're doing on https://www.w3.org/TR/activitypub/ActivityPub as part of the W3C Social Working Group. ActivityPub is fairly close to the Pump API, but there are some differences (most notably a move from ActivityStreams 1.0 to ActivityStreams 2.0, although there are others). Your mission, if you choose to accept it, is to port MediaGoblin's federation code to ActivityPub, ideally while supporting the Pump API in a backwards compatible fashion (if possible).
Jessica Tallon willing to personally mentor this one. So if you wanted to learn about federation from the source itself, here's the way to do it!
- Possible mentors: Jessica Tallon (tsyesika)
- Difficulty: TODO
- Required skills: Python