Question

I need to make a light-weight application for video editing and viewing.

I was thinking of either writing an executable program written in Python, or a light-weight web app using JavaScript and HTML5. Flash, as a third option, is pretty much out of the question, since it's too fat and has many security flaws.

EDIT: The video serving itself (read: the "heavy-weight stuff") will be done by a dedicated fast library or service. Thus, the Python/Web-app questions is pretty much related only to the GUI and some very basic video manipulation, like jumping to a specific frame and such.

What is the preferable platform, considering speed and ease of use (for the user)? Should I just use Python, or maybe just build a small web-app for my task?

Thanks in advace, Ory

Was it helpful?

Solution 4

I eventually developed a web-app - HTML5 & CSS. Developing a GUI in HTML is a breeze. And the Chromium (Open-source Google Chrome) handles HTML5 pretty well.

Unlike what people have said here, it is not heavy.

OTHER TIPS

Python.

Really, while you can do some fancy tricks with HTML5 Video e.g. apply effects to it and render it on a canvas, rotate the player etc. I don't know of any encoder that's written in JavaScript.

So unless you want to write your own version of FFMPEG for JavaScript, which will probably be the slowest thing on earth and take 400k lines of code (talk about "lightweight") so I'd suggest that you go with Python.

There are things like PyFFMPEG or PyMedia out there, which are sure worth a look, but keep in mind Video editing is hard.

I wouldn't use any of those: Browsers can't handle the weight of an application like that, python would take ages to render. If you want to make the frontends in python and/or HTML/JS feel free but you will need a compiled (Preferably C/C++) application to handle the heavy lifting in the background (For HTML, especially if you plan on making it actually have a working preview)

You'd have more luck with flash than with HTML for this...

I don't think writing a web based video editing system would be a small endeavor. Flash and Silverlight would be the technologies of choice for something like this. They are both designed to handle video very well and I think an RIA interface would be ideal.

Sure they may be 'fat' but you got to use the right tool for the job :]

I think Kaltura uses a Flash based system.

You can use Python behind the scenes to do encoding, and connecting video snippets together, but doing the front end with HTML 5 seems masochistic. It is probably possibly to do it with HTML 5 / Canvas, but still pretty crazy!

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top