-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathFeroze_gsoc.html
228 lines (195 loc) · 9.9 KB
/
Feroze_gsoc.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
<!DOCTYPE html>
<html lang="en">
<head>
<base href=".">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>2011 ― Rendering Presets Proposal</title>
<link rel="stylesheet" href="assets/css/dark-frontend.css" type="text/css" title="dark">
<link rel="alternate stylesheet" href="assets/css/light-frontend.css" type="text/css" title="light">
<link rel="stylesheet" href="assets/css/bootstrap-toc.min.css" type="text/css">
<link rel="stylesheet" href="assets/css/jquery.mCustomScrollbar.min.css">
<link rel="stylesheet" href="assets/js/search/enable_search.css" type="text/css">
<link rel="stylesheet" href="assets/css/prism-tomorrow.css" type="text/css" title="dark">
<link rel="alternate stylesheet" href="assets/css/prism.css" type="text/css" title="light">
<script src="assets/js/mustache.min.js"></script>
<script src="assets/js/jquery.js"></script>
<script src="assets/js/bootstrap.js"></script>
<script src="assets/js/scrollspy.js"></script>
<script src="assets/js/typeahead.jquery.min.js"></script>
<script src="assets/js/search.js"></script>
<script src="assets/js/compare-versions.js"></script>
<script src="assets/js/jquery.mCustomScrollbar.concat.min.js"></script>
<script src="assets/js/bootstrap-toc.min.js"></script>
<script src="assets/js/jquery.touchSwipe.min.js"></script>
<script src="assets/js/anchor.min.js"></script>
<script src="assets/js/tag_filtering.js"></script>
<script src="assets/js/language_switching.js"></script>
<script src="assets/js/styleswitcher.js"></script>
<script src="assets/js/lines_around_headings.js"></script>
<script src="assets/js/prism-core.js"></script>
<script src="assets/js/prism-autoloader.js"></script>
<script src="assets/js/prism_autoloader_path_override.js"></script>
<script src="assets/js/trie.js"></script>
<link rel="shortcut icon" href="assets/images/favicon.png">
</head>
<body class="no-script
">
<script>
$('body').removeClass('no-script');
</script>
<nav class="navbar navbar-fixed-top navbar-default" id="topnav">
<div class="container-fluid">
<div class="navbar-right">
<a id="toc-toggle">
<span class="glyphicon glyphicon-menu-right"></span>
<span class="glyphicon glyphicon-menu-left"></span>
</a>
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar-wrapper" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<span title="light mode switch" class="glyphicon glyphicon-sunglasses pull-right" id="lightmode-icon"></span>
<form class="navbar-form pull-right" id="navbar-search-form">
<div class="form-group has-feedback">
<input type="text" class="form-control input-sm" name="search" id="sidenav-lookup-field" placeholder="search" disabled>
<span class="glyphicon glyphicon-search form-control-feedback" id="search-mgn-glass"></span>
</div>
</form>
</div>
<div class="navbar-header">
<a id="sidenav-toggle">
<span class="glyphicon glyphicon-menu-right"></span>
<span class="glyphicon glyphicon-menu-left"></span>
</a>
<a id="home-link" href="index.html" class="hotdoc-navbar-brand">
<img src="assets/images/pitivi.svg" alt="Home">
</a>
</div>
<div class="navbar-collapse collapse" id="navbar-wrapper">
<ul class="nav navbar-nav" id="menu">
</ul>
<div class="hidden-xs hidden-sm navbar-text navbar-center">
<p><b>The Pitivi Developer Documentation</b></p>
</div>
</div>
</div>
</nav>
<main>
<div data-extension="core" data-hotdoc-in-toplevel="True" data-hotdoc-project="Pitivi" data-hotdoc-ref="Feroze_gsoc.html" class="page_container" id="page-wrapper">
<script src="assets/js/utils.js"></script>
<div class="panel panel-collapse oc-collapsed" id="sidenav" data-hotdoc-role="navigation">
<script src="assets/js/full-width.js"></script>
<div id="sitenav-wrapper">
<iframe src="hotdoc-sitemap.html" id="sitenav-frame"></iframe>
</div>
</div>
<div id="body">
<div id="main">
<div id="page-description" data-hotdoc-role="main">
<h1 id="2011-rendering-presets-proposal">2011 ― Rendering Presets Proposal</h1>
<h2 id="what-is-its-ultimate-goal">What is its ultimate goal?</h2>
<p>The ultimate goal of this project is to make it easier for PiTiVi users
to intuitively edit and share videos.</p>
<h2 id="what-components-will-it-have">What components will it have?</h2>
<p>I will be creating modules for PiTiVi using GStreamer.</p>
<h2 id="what-benefits-does-it-have-for-gstreamer-and-its-community">What benefits does it have for GStreamer and its community?</h2>
<p>Currently, PiTiVi is the one of the leading video editors on Linux which
uses GStreamer. It is bundled with Ubuntu. It is very simple to use but
lacks a few essential features which, if implemented, would greatly
expand its userbase. It would be a major boost for the GStreamer and
PiTiVi community.</p>
<h2 id="why-youd-like-to-complete-this-particular-project">Why you’d like to complete this particular project?</h2>
<p>While PiTiVi has many necessary functions, it is lacking in the
following areas:</p>
<h3 id="1-rendering-presets">1. Rendering presets</h3>
<p>Most users want the output formatted for a specific device or service –
YouTube, iPod, iPhone, DVD, mobile, etc. Presently, the user would have
to manually specify the codecs, container and codec settings like
resolution, frame rate,etc. He would have to either be familiar with the
codecs or would have to google it up.</p>
<ol>
<li>The user should just be able to click on the output format and render. This would enable us to expand the userbase to people without much codec knowledge.</li>
<li>User can add, remove and rename presets and edit codec settings within the render dialog menu.</li>
<li>The presets should be stored separately and the user should be able to import and export presets from GUI.</li>
<li>Enable us to bundle a default set of rendering and project setting presets</li>
</ol>
<p>Presets Suggested : iPod , iPad, PlayStation 3, DVD (NTSC, PAL), HTML5 (
Theora + Vorbis ), Flash video (for embedding), HD (using mkv -> good
compression)</p>
<p>Reference : <a href="design/Rendering_Profiles.html">Rendering Profiles</a></p>
<h3 id="2-upload-to-video-services">2. Upload to video services</h3>
<p>Users should by able to easily upload their videos to YouTube, Vimeo,
Archive.org and DailyMotion from PiTiVi using their respective APIs
through the intuitive GUI.</p>
<p>Create a uploader class to make integrating other video services in the
future easier.</p>
<p>Support limitations of each – file size, splitting</p>
<h3 id="3-fix-ui-bugs">3. Fix UI Bugs</h3>
<p>Users have reported for multiple GUI enhancements. Though they have
normal priority, coding it would greatly improve the easy of use</p>
<p>Easy:</p>
<ol>
<li>Bug 622079 – Use current clip’s parameter -> Club with render profile setting</li>
<li>Bug 608682 – Ability to add markers to identify scenes and as a visual reminder in timeline, Add with Insert -> Marker and keyboard shortcut</li>
<li>Bug 594485 – Ask for confirmation before deleting previously rendered file</li>
<li>Bug 630374 -Add the ability to export the image currently seen in the viewer</li>
<li>Bug 608108 – More details in unsaved dialog box</li>
<li>Bug 578671 – Catch encoder exceptions and show in debugger window</li>
<li>Bug 586071 & Bug 622563 – Custom labeling of clips</li>
</ol>
<p>Moderate 1:</p>
<ol>
<li>Bug 575464 – Vertical timeline markers for every defined duration (10 seconds)</li>
<li>Bug 596131 – Implement color-correction like white balance using GStreamer ( GES? )</li>
<li>Bug 603738 – Hide toolbar + timeline in fullscreen</li>
</ol>
<p>Moderate 2:</p>
<ol>
<li>Bug 637078 – Ability to render only selected portion of the timeline</li>
<li>Bug 632319 – Manual layer interface</li>
<li>Bug 593919 – Implement cropping/panning/zooming for clips</li>
<li>Bug 642129 – Change properties (resize, time duration) of multiple photos at one go.</li>
</ol>
<h2 id="how-do-you-plan-to-achieve-completion-of-your-project">How do you plan to achieve completion of your project?</h2>
<p>Following is a breakup of the project goals. Estimated time for each
target is in braces.</p>
<p><code>Up to May 23 – Study PiTiVi code. Gain indepth knowledge of GStreamer and codec settings and GooCanvas.</code>
<code>Target 1 ( 2-3 weeks ) – Implement Preset Manager for Render</code>
<code>Target 2 ( 2 weeks ) – Implement video uploading to YouTube, Vimeo, Archive.org and DailyMotion from GUI</code>
<code>Target 3 ( 1 week ) – Code Cleanup – Mid-term Evaluation</code>
<code>Target 4 ( 2 weeks ) – Implement Easy GUI enhancements</code>
<code>Target 5 ( 2 weeks ) – Implement Moderate 1 GUI enhancements</code>
<code>Target 6 ( 2 weeks ) – Implement Moderate 2 GUI enhancements</code>
<code>Target 5 ( 1 week ) – Final Code Cleanup and Documentation</code></p>
<h2 id="what-will-showable-at-midterm-">What will showable at mid-term ?</h2>
<p>At midterm, Render profile presets and video uploading service would be
ready</p>
<h2 id="about-me">About Me</h2>
<p>My Name is Feroze Naina, and I’m currently doing my B.Eng in Chennai,
India.</p>
<p><a href="https://github.com/feroze/">https://github.com/feroze/</a></p>
</div>
</div>
<div id="search_results">
<p>The results of the search are</p>
</div>
<div id="footer">
</div>
</div>
<div id="toc-column">
<div class="edit-button">
<a href="https://gitlab.gnome.org/GNOME/pitivi/edit/master/docs/Feroze_gsoc.md" data-hotdoc-role="edit-button">Edit on GitLab</a>
</div>
<div id="toc-wrapper">
<nav id="toc"></nav>
</div>
</div>
</div>
</main>
<script src="assets/js/navbar_offset_scroller.js"></script>
</body>
</html>