I have a web application that uses videos and one of the features is for users to upload videos using the application and then use that video with MovieMasher, make edits and then save the video - which then reflects in the application
So would need help in figuring out these:
1. When a user uploads a video on the site, they can then edit the video by clicking on Edit video - which redirects them to the MovieMasher app that we have installed on our system - so that video needs to load by default
2. On editing and saving, our application then needs to be able to access that video
The application is developed using PHP
Any help on this would be appreciated
You can access video edits by accessing the movie masher Mash.xml, which saves any changes done to the video INSIDE moviemasher. By default this is done for each user session when a mash is saved. There are two good example of this in examples/save & examples/server
In MM you need to export / render the video before your application can access it.
I'm not the creator of MM but I've been doing something similar with my project.
Thanks for your reply. Sorry, maybe my questions may be very basic - but any help would be appreciated
So, how do I get to load the video on MM when the user clicks on Edit Video from the app that we are developing
You would have to load the video as an asset in Movie Masher so it could be seen in the Media Browser… This is another XML, which would probably be created specifically for each user that you have. This is obviously one way to do this.
For saving the moviemasher I would revise this text in the documentation:
In general I would recommend taking a look over the Docs that doug has written. It is very complete and will give you a basic background with how the application works.
Thank you very much. Will look into this
Mark, you're a star!
Vivek, if your external application is handling file uploads you'll usually want to preprocess these before using in the editor. I've seen installations where clicking on an 'Edit Video' button initiates this preprocessing (an asynchronous REST or SQS call to Movie Masher Server) and provides some sort of progress indicator until it's done. Then the editor is loaded with XML configuration that contains a 'mash' tag and nested 'clip' and 'media' tags for the processed file. The first 'mash' tag found in the configuration is loaded into the timeline on load.
When juggling the XML configuration, keep in mind that CGI scripts can always be used in place of the static XML files seen in the example deployments. This includes the initial configuration loaded from the index page - often the URL there is to a CGI script and contains some sort of ID parameter.
Thanks Doug - work in progress at the moment - will get back if we had questions
I am using the Save example and added the render function from the server example (couldnt get the server example working - the videos arent showing up). So, when I save and then click render, it progresses and stops with a message saying Queued. Not sure why the progress stopped. Any help with this?
Well I'm not the expert, so I would wait to hear what doug has to say… but, where are you running your moviemasher? In Amazon? Your own setup?
It sounds to me that the server is currently working on a request… but it could be something else.
Am on my own setup
In fact I just tried the server example - tried editing the videos - and again - on clicking render we get the queued status
Even when I try uploading a video using the server example - it gets queued. Is there something that needs to be done to release the queue?
Doug - any suggestions?
Just out of curiousity: besides uploading moviemasher to your server and configuring moviemasher.xml, have you installed the required modules… e.g. ffmpeg?
Yeah - we have them installed Mark
Any suggestions on this? thanks
Have you created daemons to handle the processing of jobs in the queue? When trying to install everything locally, it's still helpful to launch up the AMI in EC2 to see how things are running there. You'll want to replicate this as much as possible on your box.
No, we have not created the Daemons to process the queue - is there any documentation on the MovieMasher website on the same? Or can you direct us to any links that tells us how that can be done?
Have a good read through example/server/README-Local_System.txt and check out the AMI on EC2. There's no extra charge on top of Amazon's standard fees, which are low and billed hourly.
We managed to get the daemon thing working - thanks
Needed to know this - the source of the video - we would want that to be dynamic - i.e. different videos need to load for different users - so how can achieve that?
Is there some variable that would needs to be added to the media_video.xml - to change the src of the videos based on the user who has logged in
Any help on this would be appreciated
Congrats - getting the daemons running properly is a nontrivial task! The 'server' example scripts authenticate the user in private/MovieMasher/lib/authutils.php and the user ID returned by one of the functions there is used to create the path to the files and decide which XML file the meta data tag is placed. If that's all set up correctly then asset and XML files should be going into a user directory in www/example/server/media/user.
Movie Masher seems to be a bit inconsistent - not sure why. When I try editing a video, sometime it gives me an error msg saying "Unable to cache Image Sequence", another time I got a "audio error" message and also at times, when I we mash a png, it says unable to get the dimensions. Any information on that?
Transparent PNGs are not supported in the main visual track - only as composites. "Unable to cache Image Sequence" shouldn't happen if your video is being preprocessed - is it? Sorry, "audio error" is to vague to comment on.
Thanks for your response. The screenshot of the audio error:
Do you know why this could be happening?
With the "cache image sequence", will send you some info
Seems to be a reasonable command line statement. Try enabling the CoderSaveTemporaryFiles option in MovieMasher.xml and running the job again. Then check the wav file that's being fed into ecasound - is it the correct length, etc.? Can you execute the command yourself from the shell?
Thanks - will try this and get back to you
I think we may be having problems with the preprocessing - can you please recommend how the preprocessing would need to be done?
The server example demonstrates preprocessing during the upload process and at the end of the render process. All we're really doing is converting the video to an image sequence and MP3, but we also accommodate inconstancies in FFmpeg. Specifically, the duration it reports for video does not always correlate exactly with the number of frames produced. In cases when it's greater we duplicate the last frame to fill.
The "Unable to cache Image Sequence" message comes if the 'source' attribute in the media tag is empty and the 'url' attribute points to a directory, as it would for preprocessed video. The 'source' is what's actually used during rendering, and should point to the original uploaded file.
Log in to post a comment.