GSoC 2019 Final Report

image

PiTiVi Logo.svg

This year I worked on Pitivi, an Open Source Video Editor. With GSoC coming to an end, this post is a brief summary of the tasks that were done during the period, the things that were implemented, the work that is ongoing and the future plans that are left to do.

My project involved implementing Nesting Timelines in Pitivi, such that the clips can be easily nested to form one single clip.
Here is the project proposal:
https://drive.google.com/open?id=1jGJN2r6m7kiUkgbO5dCzOj7QY5G6rFzi


The Work Done:

Currently a Nested Timeline can be edited from Pitivi. Choosing to edit the clip starts another Pitivi instance with the same clip inside which can be edited as desired by the user and saved. On focusing back to the main window the clip is updated in the Media Library and the Timeline with the changes committed.

Links

Pitivi:

1) previewer: Allow generating thumbnails for assets

https://gitlab.gnome.org/GNOME/pitivi/commit/7473ce51f93a4d145eb8c97993ba3f3e7b123b34

2) previewers: Split VideoPreviewer logic into ImagePreviewer

https://gitlab.gnome.org/GNOME/pitivi/commit/abcdcc802f7e2ce52fbe367fa837a27ee837261d

Gst-Editing-Services:

1) tests: Implement nested timelines tests

https://gitlab.freedesktop.org/gstreamer/gst-editing-services/commit/ad6d1964af89a446e3df6cccce81c0d291ab1e11

2) tests: Add ges-sample-path-recurse with projects location

https://gitlab.freedesktop.org/gstreamer/gst-editing-services/commit/147cbcd6e1d41f98fb3f04f7a51d2893218b4e13

Gst-Integration-Testsuites:

1) added check_seek_on_nested_clips and check_seek_on_nested_timelines scenarios

https://gitlab.freedesktop.org/gstreamer/gst-integration-testsuites/commit/b00f6696d2d0a6dfd8a9628e393629339160e044

Ongoing Work:

Currently I am working on making the thumbnails of the updated clips appear properly on the timeline in Pitivi.

1) Opening another Pitivi instance for editing nested timeline

https://gitlab.gnome.org/GNOME/pitivi/merge_requests/197

Work left to do:

Now we can edit a nested timeline in Pitivi but I still have to implement the ability to create nested timelines from within Pitivi.
We also have to disconnect the additional Pitivi instance which appears, such that the user doesn’t go back into the Greeter Perspective.

Conclusion:
This summer I had an entirely new experience about software development, and in these few months I learnt volumes about the entire process needed to implement features in a software. It was the first time I tried these waters and it was challenging for me and sometimes quite frustrating, being a beginner, but my mentor’s and the communities’ support kept me afloat. I am glad that I had this opportunity which in just a few months helped me explore so much. Now looking back I can clearly see the line separating my skill before and after this 3 month period. Still there is a lot more to explore and learn. I will be continuing to contribute to Pitivi and be in touch with this great community.

Finally, I would like to thank my mentors Thibault Saunier and Alexandru Bălut for guiding me and patiently watching over my progress. They have taught me lot and I will continue with them the pursuit to make Pitivi better.

Advertisements

Pitivi – Making a Nest

                              PiTiVi Logo.svg          Image result for google summer of code

Pitivi is an open source video editing software for Linux. It provides creatives with a simple and elegant interface to edit and bring their videos to realisation. As with every other great software, Pitivi’s development community is always striving to add newer and better features. This year I participated in the Google Summer of Code to add the ‘Nesting’ Feature to the platform. I am currently working on this with my mentor Thiblahute Saunier. In this blog I chart out our current progress and the future tasks at hand.

Nesting Clips:

With nesting users can combine a series of sequences into a master clip. This master clip can be edited on like a normal clip, while simultaneously providing users the ability to go into the master clip’s timeline and make changes. This will help them to organise the timeline, enable re-usability of sequences and provide a richer user experience. 

Nesting in Adobe Premiere Pro

(Here is a link to better understand Nesting: https://www.youtube.com/watch?v=A8Aw53JBLZY )

For the past weeks we have been working on the back-end, Gstreamer Editing Services(GES) to implement nesting of clips in a timeline. Earlier with ges-launch-1.0 we could create a timeline, load several clips to it with +clip , add effects to them +effect, set it’s property etc, now with ges-launch-1.0 .xges file can be used as source and nested timelines can be created.

(Here is a link to ges-launch-1.0 documentation: https://gstreamer.freedesktop.org/documentation/tools/ges-launch.html?gi-language=c#)

So while nesting in Pitivi, the idea is to create a new timeline, copy and paste the selected clips in this timeline, remove them from the main timeline and finally add the new timeline to the main timeline.

Now .xges file can be used as source and nested timelines can be created. So while nesting in Pitivi the idea is to create a new timeline, copy and paste the selected clips in this timeline, remove them from the main timeline and finally add the new timeline to the main timeline.

Testing:

gst-validate-launcher is used to create test suites to test the behavior of the created pipelines and test the user actions as described in the .scenario files.

(Here is the link to gst-validate-launcher documentation: https://gstreamer.freedesktop.org/documentation/gst-devtools/gst-validate-launcher.html?gi-language=c )

I have been busy implementing tests and writing scenarios for nesting. The test suite is working properly. For playback.nested tests, ges-launch-1.0 +clip is used to add the .xges file to the timeline instead of -l. Thanks to Thiblahute, most of the tests are passing successfully. So now ‘gst-validate-launcher ges’ generates and runs through the tests for Nesting.

The scenarios seek on nested timelines and check whether the outputted frame is correct. To be specific, they load a clip, serialize it in a .xges file, resulting in a nested timeline. It then loads the .xges file, seeks and checks the frame while moving them around in the layers and adding effects to the nested timeline. Basically, they emulate a user’s actions. Currently I am wrapping up a few scenarios.

The journey ahead:

The next part of the project will involve in the implementation and user interface of nesting in Pitivi. I had some ideas about the interface which I suggested in my proposal but we will be having rigorous discussions and decide the final interface.

My experience working in Pitivi:

In the past few weeks I’ve learnt and improved a lot. In the beginning I was a bit reserved and shy to tell my problems but after talking and getting to know my mentor, I think I’ve overcome that fear. The guidance of my mentor has been crucial in this journey. Until now he has done all of the heavy-lifting for the back-end all the while helping me to get up to speed. Hopefully now I will be able to take the reins and at the same time be able to learn more from him. I look forward to an amazing summer and the work we have in front of us.

FALL – A COMIC BOOK TRAGEDY

(The post is on Batman v Superman: Dawn of Justice, a 2016 american superhero film)

PART – 1


Even if the film received heavy criticism and was battered by the audience because of its controversial end, to the fight every comic book fan was mouth-watering for, it had certain elements to it which will be remembered and revered.

Zack Snyder’s portrayal of the Dark Knight’s origins, reveals the true genius of this amazing director. And shows the amount of work and more importantly the gruesome thinking process that must have been put into, to bring one of the most iconic comic book scenes to the big screen.

In this post I will be expressing my thoughts on different aspects of the starting scene in the movie or popularly called ‘THE FALL’.  All the analysis that I will be putting forward to you, is purely based on my inferences of the scene and has in no way been confirmed by the makers (not that I know of). Of course I hope that the way they portrayed it, was deliberate and there is much deeper levels of complexity that the makers must have considered, which I have to still ponder over. So without further ado lets delve into a single event in Bruce Wayne’s life which changes everything and marks the dawn of   The Dark Knight.

(Here is the scene from Youtube. Pay attention to the music, camera motion, and transitions between shots. These observations are pertinent to my analysis which will be enclosed in ‘[  ]’ brackets. Take multiple views to notice the intricacies )

 

“There was a time above, a time before, there were perfect things, diamond absolutes. Things fall, things on Earth… And what falls, is fallen.”

This marks the beginning of the movie. Along with the aptly chosen background music, these simple words give away lots of emotions attached with the past and also Bruce Wayne’s present.

He sees these memories with his parents as a treasure, when everything was right, just as it was meant to be and when there was still hope and happiness in him. The past was flawless, ‘diamond absolute’.

But now a hardened man, who has lost every sliver of hope and who knows what the true reality is, the inevitable ‘FALL’. Bruce, disappointed, knows very well that everything good falls and once it has fallen there is no going back. And so, begins two journeys which are successive but are indeed intertwined.

[Notice the scene takes place during autumn season, leaves fall.  So this gives away to the viewers what is to come next.]

The first journey is of Bruce running away not being able to bear the pain of being orphaned, hoping to find some soothing if he can just escape reality for a moment. Ignoring Alfred’s attempts to calm him, Bruce enters the thick forest .

[The start of this sequence is marked by a sudden low base note which we will be encountering again when the second journey starts. Of course, the change in music and the base notes have been very neatly placed, they signify sudden change, or the transition between scenes, Simple images can convey half the meaning but paired with music, a masterpiece is created]

[Notice while Bruce wades through the forest, the camera shots change directions this subtly shows that he is lost]

[Again, the base note is heard, this signifies the transition to the second journey.]

And then comes the beginning of the end. A couple with their son have had a perfect night and are seen happy and enjoying each other’s company.

[Notice the camera’s smooth transitions trying to make the audience feel the presence of love among the characters. (Also, earlier we can notice the ‘Zorro’ and ‘Excalibur’ references from the comics). Mark the transitions between Bruce wading through the forest and the shot of the path the family is taking, it signifies the erroneous decisions in both instances.]

Finally comes in the agent of the catastrophe. A man who changes the life of an innocent child.

[Again, notice how he walks slowly and looks behind before the unfortunate act he is going to commit, with these two simple actions, the message is conveyed that he was waiting for a prey and there is no one else present in the vicinity]

Now comes the turn in the events. The gun cocks and Thomas Wayne automatically moves forward to cover and protect his family from harm. Slowly the pistol head comes into focus and reality strikes.

[The slow focus of the gun conveys that harrowing events can come about anytime, the future is always uncertain. The sudden inclusion of the gun also turns the scene dark, the viewers lose the previous thoughts of love and happiness. This scene is so powerful that it draws in the viewer’s attention.]

[In the next scene Bruce falls while running, its shows the beginning of ‘FALL’ in this journey. And notice when he gets up and resumes running the camera turns upside down. This was not just a coincidence, there could have been many ways to render the scene but the makers chose these specific movements for a reason. With this simple camera motion, they conveyed that Bruce Wayne’s world is going to be turned upside down after this event.]


( I guess it’s just too much for one post. So I had to divide it in two sections. Here is the link to PART – 2 

https://swaynethoughts.wordpress.com/2017/09/20/fall-a-comic-book-tragedy/

)


 

FALL – A COMIC BOOK TRAGEDY

PART -2


In the next scene Thomas Wayne decides that there is no way out, he has to fight.

[The slow gripping signifies the above and also comments on Thomas Wayne’s character , that he will never compromise even in the face of death.]

[ The gun fires and simultaneously Bruce Wayne FALLS. The death of his father is the stepping stone of the path Bruce will embark upon. Also notice in the change in intensity of the background track.

        The next shot is totally unfocused, it heightens the gravity of the situation and tells the viewers about the lack of clarity and uncertainty, a single event has induced in Bruce Wayne’s future.

         Again, we see Bruce Wayne falling towards his doomed destiny, and the bullet casket hitting the ground. Both gracefully relate to the theme ‘The Fall’ ]

Horrified about what has happened Martha Wayne tries to protect her son. But fate has other plans for her.

[In the next set of scenes, a lot of changes take place. From the look of the perpetrator’s face we can clearly grasp that he is in shock too and is going to take irrational decisions.

     The most emphasis is given to scene with the pearl necklace dangling from the gun. It wants to compare the two things. A pearl necklace signifying beauty and bond the family had and a gun describing the harsh and brutal world. They describe how something innocent and beautiful can be broken and made to fall, by ugly reality and perverse actions 

       This segment is also marked by a female voice full of sorrow in the background. The makers want to show explicitly Martha Wayne’s demise. They want to express motherly love and dilemma. When the camera moves to her face, we can notice the fear in her eyes and how her brows rise, fear, not about her own life, but fear about Bruce’s fate]

[ And comes one of the most iconic scene in all of comic book history. The falling apart of Martha Wayne’s Pearl necklace, this actually originated from Frank Miller influential comic ‘The Dark Knight Returns’ (1986). This small, and maybe insignificant event to a layman, speaks a lot. It epitomizes the breaking of bonds, the shattering of a little boy’s world.

Notice, when the necklace shatters due to the guns recoil, the beads become unfocused while the gun stays in perfect focus. The main emphasis is the gun. This shows that only the ugly reality has stayed in Bruce’s life and all the innocence and love he had is gone now. ]

And finally we come to the end of both journeys, Martha Wayne falls to her death. And simultaneously Bruce ‘Falls’ to his fate of becoming a ruthless person who will do anything to stop such a tragedy to ever occur again.

[Notice right when Bruce falls, the whole musical score ends. This is again to show that both the journeys have come to an end. After this we encounter a totally different background music which gives a sense of loss and unhappiness.]

            And with the final ‘FALL’ we have reached the end our analysis. I guess it was pretty lengthy but it is certainly not exhaustive. There are of course many facets of the narrative that I have missed. But certainly, we can appreciate the effort it takes to make something so beautiful but still full of sorrow, and that too in less than 3 minutes of screen time. Having dialogues to describe a particular thought, you want to express is tough too, but a good filmmaker can convey a lot non-verbally. Just through his lens he has the ability to narrate a story and make the audience feel the intense emotions the story carries…