Integrating with web application

Vivek
2011-10-18
2012-11-26
  • Vivek

    Vivek - 2011-10-18

    Hi,
    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

     
  • Mark Bratanov

    Mark Bratanov - 2011-10-18

    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.

     
  • Vivek

    Vivek - 2011-10-18

    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

    Vivek

     
  • Mark Bratanov

    Mark Bratanov - 2011-10-18

    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.

    http://moviemasher.com/doc/?page=content&sub=browse

    For saving the moviemasher I would revise this text in the documentation:
    http://moviemasher.com/doc/?page=content&sub=load

    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.

     
  • Vivek

    Vivek - 2011-10-18

    Thank you very much. Will look into this

    Vivek

     
  • doug

    doug - 2011-10-18

    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.

    Good luck,
    doug

     
  • Vivek

    Vivek - 2011-10-18

    Thanks Doug - work in progress at the moment - will get back if we had questions

    Vivek

     
  • Vivek

    Vivek - 2011-10-18

    Hi,
    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?

    thanks

    Vivek

     
  • Mark Bratanov

    Mark Bratanov - 2011-10-18

    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.

     
  • Vivek

    Vivek - 2011-10-18

    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?

    thanks

     
  • Mark Bratanov

    Mark Bratanov - 2011-10-18

    Just out of curiousity: besides uploading moviemasher to your server and configuring moviemasher.xml, have you installed the required modules… e.g. ffmpeg?

     
  • Vivek

    Vivek - 2011-10-18

    Yeah - we have them installed Mark

     
  • Vivek

    Vivek - 2011-10-18

    Any suggestions on this? thanks

     
  • doug

    doug - 2011-10-18

    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.

     
  • Vivek

    Vivek - 2011-10-18

    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?

    thanks

     
  • doug

    doug - 2011-10-18

    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.

     
  • Vivek

    Vivek - 2011-10-20

    Hi,

    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

    thanks
    Vivek

     
  • doug

    doug - 2011-10-20

    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.

     
  • Vivek

    Vivek - 2011-11-30

    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?

    thanks
    Vivek

     
  • doug

    doug - 2011-11-30

    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.

     
  • Vivek

    Vivek - 2011-11-30

    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

     
  • doug

    doug - 2011-11-30

    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?

     
  • Vivek

    Vivek - 2011-11-30

    Thanks - will try this and get back to you

     
  • Vivek

    Vivek - 2011-11-30

    I think we may be having problems with the preprocessing - can you please recommend how the preprocessing would need to be done?

     
  • doug

    doug - 2011-11-30

    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.