Page MenuHomePhabricator

Add Ken Burns effect
Open, Needs TriagePublicFeature

Description

Feature summary: The tool should be able to take a still image and add the Ken Burns effect to it. So either pan from left to right, pan from right to left, zoom from out to in, or zoom from in to out.

How best to implement this I am not sure. Maybe we could have templates like

"{{VideoWikiTemplate|Kenburns|left to right}}"

Such that this would be applied to the next media image that immediately follows it.

Event Timeline

As I think about the best way to implement these additional functions, I am thinking this template should begin as

{{Kenburns|left to right|image=X.jpg}}

Which will produce a green "Create" button. One will than click on this button which will upload the short video segment to Commons. Than it will replace the template with the video.

Thoughts?

I believe the "{{VideoWikiTemplate|Kenburns|left to right}}" template would be a good start.

We can add some zoom options, like {{VideoWikiTemplate|Kenburns|left to right|initial zoom 150% | final zoom 100%}}. This can control the zoom in/out with the zooming percentage being customizable. So initial zoom 150% | final zoom 100% would zoom out from 150% to 100% and initial zoom 100% | final zoom 150% would zoom in from 100% to 150%

Not sure about the {{Kenburns|left to right|image=X.jpg}} green "Create" button. Can you please elaborate on this? would the button appear on VideoWiki or in the MediaWiki?

I am thinking that these template should be external to VideoWiki

They will occur within the mediawiki page / video script. Then when activated it will convert the still to a short video. That video will than be loaded into Commons. And the tool will then replace the template with the video in the script.

This will keep the short video creation step and the video compiling by VideoWiki separate and make it easier to figure out things if they break.

I'm not completely familiar with template development on MediaWiki however if we're gonna keep this outside of VideoWiki, we'll need to ensure 2 things:
1- The MediaWiki installation supports ffmpeg to execute the conversion script
2- The logged in user in the MediaWiki page should be authenticated with Commons to upload the generated video under his name

Basically we want to feed two peices of data to a new tool on the wmcloud that then takes this data and creates a short video which it uploads to commons. The data could be handed to the tool via a url such as like in this template https://mdwiki.org/wiki/Video:Sandbox

Once the video is created and uploaded to commons the tool should than come back and replace the Ken Burns template. For example the current template produces https://templates.wmcloud.org+origin_of_the_gout_(5039426964).jpg+left_to_right/

But we can change that to whatever we want by adjusting this
https://mdwiki.org/wiki/Template:Ken_Burns_effect

Ok understood now. So couple of points:

For deployment, should I deploy it on the same infrastructure of VideoWiki? or will we be applying for another project in Horizon?

For the parameters, I believe we'll need the following:
1- Direction (left to right vs right to left)
2- Initial zoom
3- Final/target zoom
4- The total duration of the video needed. This will control the speed of the effect
5- the image src/url

Also regarding the image src. Should we support files already uploaded on Commons? that is, the template user gets to either give a file name on Commons (starting with File:) or an image url

And one last thing. What should be the naming convention of the generated file that we upload to Commons?

So what we are doing meshes closely with VideoWiki but should be standalone. We are looking at creating a number of tools that make short video segments. So lets apply for another project...

It might be nice to be able to load the still image into the Ken Burns effect editor with the starting parameters, and than be able to make changes to the parameters before hitting the upload to Commons button.

We have an open source Ken Burns effect tool here if you have not found it already

https://github.com/calm/KenBurns

With respect to naming conventions I was thinking "File name (Ken Burns1)" and if that is take then "File name (Ken Burns2)" We could also let folks alter this before upload. Not sure if you have other suggestions.