Video frame extander

Hi
I have this shoot I took and I want to use it, but the actor is really close to the right side of the frame  (the border).
Is there any technique or effect to synthsys or expand to clip borders ( the background is completly white).
Thanks in advance

Make a colour solid the same as the background of the video, put on track 1. Put your video on track 2 and use the motion controls to move the actor to the correct place. I think there is a video effect called something like 'edge blur' add that to your live footage to blend the edge.

Similar Messages

  • Error message "could not complete the video frames to layers command because dynamiclink is not avai

    So I decided to try my hand at making gifs and so I attempted to upload a video by going to file -> import -> video frames to layers. Before even letting my pick my video it comes up with an error message saying "could not complete the video frames to layers command because dynamiclink is not availible." I then tried file -> open -> and then selected the video and no matter what file type or size I chose I ended up with the same error message.
    I looked this problem up and attempted some of the solutions but to no avail. I tried clearing my preferences and restarting photoshop many times in addition to restarting my computer. I also checked to make sure it wasn't being blocked by any firewalls and it wasn't. My opperating system is Windows 7 and I'm using photoshop cs6. I've looked everywhere for an answer to this problem so if anyone is able to help me solve this problem I'd be much obliged.

    You see my C:\ drive is quite small as it's a SSD, so I made Adobe install programs on my E:\ drive too, however this was the main cause for Adobe not to function.
    After adjusting the settings to install everything back to my C:\ drive, it fixed my issue above and allowed me to run the 64bit version.

  • Image processing algorithms on video frames.

    Hello.
    I am trying to access video frames, one by one, and do image processing on each of them. this practically includes just a comparison of successive video frames to see how much the content is changing so as to detect when the scenes in the video are changing. i am already using a variation of the frame access code by java. i am able to retrieve the individual frames in the 'buffer' format, and i can convert it to .png and save them to hdisk too.
    what i need to know is whether i can use the buffer type itself to do pixel comparisons, or i need to convert it to an image first. any1 with experience in image processing in java will probably have an idea. and if u can suggest a package, or code whatsoever available online which can help me in my image processing demands, i would really appreciate that.
    thanks!

    Hi Greyfox,
    You can calculate a checksum on the bytes in a bufferedImage and keep a hold of it and use it to check against the next image like so:
    try
              raster = buffImg.getWritableTile(buffImg.getWidth(), buffImg.getHeight());
              imgBytes = ((DataBufferByte)raster.getDataBuffer()).getData();
              // Compute CRC-32 checksum           
         checksumEngine.update(imgBytes, 0, imgBytes.length);
         long checksum = checksumEngine.getValue();
         // Check if it's the same as the previous checksum.
         if (checksum == previousImageChecksum)
              isFrozen = true;
              // Do some logging to try and find out why the image is frozen.
              log.debug("--------- ALERT : DUPLICATE IMAGES FOUND ---------");
              log.debug("Checksum comparison. Current = " + checksum + ". Previous = " + previousImageChecksum);           
         else
              // Give the previous checksum the current value so we can use it for the next check.
              previousImageChecksum = checksum;
         catch (Exception e)
              log.error("Error calculating the checksum.", e);
         // The checksum engine can be reused again for a different byte array by calling reset()
         checksumEngine.reset();

  • On Mac student ver, get DV video frame, output USB commands

    Sorry if this is the wrong place.  I did consider the machine vision and the instrument control forums, most of what I saw on these particular subjects were a couple years old, I am hoping the Mac support has changed. I am looking for an inexpensive way to get some measurements. Before obtaining the student version of LabView (Mac perferably) I want to see how 'easy' this is going to be, or if I should look at other solutions. I have some experience with LabView from the mid 90's, I think it was LabView 2. I figure this small project is a good way to get some LabView experience before we jump into a larger project and get some funding.
    I have a small board that has a monochrome CCD chip on it with standard composite analog video out.  I also have a Sony analog video to  Firewire DV video converter.  Mac video applications pick this up just fine.  I want to grab  frames from this video stream.
    I have a hand held motion controller that has USB input. The vendor supplies a VI with it.
    I want to send step movements to the motion controller, then analyze the video frame repeatably. 
    1) Is it possible to grab firewire DV video frames with LabView?  Does the student version come with appropiate VI drivers?  (What I saw in the Machine Vision forum was NI-IMAQ
    2)  Would the VI from the motion controller vendor possibly work on OS-X, or are VIs either  Mac OS-X or  Windows?
    I had some other USB questions but I found the tutorial on NI-VISA which I think answers those. 

    Hey phillman,
    To do video capture with a firewire camera, you are going need the IMAQdx driver which is included in the NI Vision Acquisition Software. Unfortunately, as Adnan pointed out, this driver is unsupported on the Mac Operating system. In more bad news, the NI VISA driver is not really going to help you acquire frames from your firewire camera. As far as your motion controller vi's go, it would depend on the version that the vi's were written in. Contacting the motion controller vender would be your best bet in determining if there vi is compatible with the Mac OS X.
    Sorry to be the bearer of bad news. Let us know if this helps.
    Ben
    Applications Engineering
    National Instruments
    Hope this helps.
    -Ben
    WaterlooLabs

  • How to use the frameaccess code to convert video frames to jpeg files

    Hello everyone. I am working on a project on video processing, and i need to be able to do image processing on individual video frames. However, to do this, I need to convert the frames to an appropriate format, namely jpeg. It is actually the conversion from buffer frame to BufferedImage that is important, as i already have an approximate knowledge of filewriter for the saving of already rendered file.
    The original frameaccess code can be found here: http://java.sun.com/products/java-media/jmf/2.1.1/solutions/FrameAccess.html
    there are several other threads tied to this topic, some of which do not work for me, or simply do not suit my needs, so please do not link me to them unless you are sure its the real solution.
    if any one could help me by showing me the way of doing it correctly, and maybe give a nice short explanation, i would be very grateful.
    Thanks you.
    P.s: i am only a beginner to intermediate student in java and programming in general so...

    Here is the code i am currently using.
    package Test;
    import java.io.*;
    import java.util.*;
    import java.awt.*;
    import javax.media.*;
    import javax.media.control.TrackControl;
    import javax.media.Format;
    import javax.media.format.*;
    import javax.media.bean.playerbean.MediaPlayer;
    import javax.media.util.*;
    import java.awt.image.BufferedImage;
    import java.awt.image.RenderedImage;
    import java.awt.image.*;
    import javax.imageio.ImageWriter;
    import javax.imageio.ImageIO;
    import javax.media.control.FrameGrabbingControl;
    * Sample program to access individual video frames by using a
    * "pass-thru" codec. The codec is inserted into the data flow
    * path. As data pass through this codec, a callback is invoked
    * for each frame of video data.
    public class FrameAccess extends Frame implements ControllerListener {
    Processor p;
    Object waitSync = new Object();
    boolean stateTransitionOK = true;
    * Given a media locator, create a processor and use that processor
    * as a player to playback the media.
    * During the processor's Configured state, two "pass-thru" codecs,
    * PreAccessCodec and PostAccessCodec, are set on the video track.
    * These codecs are used to get access to individual video frames
    * of the media.
    * Much of the code is just standard code to present media in JMF.
    public boolean open(MediaLocator ml) {
         try {
         p = Manager.createProcessor(ml);
         } catch (Exception e) {
         System.err.println("Failed to create a processor from the given url: " + e);
         return false;
         p.addControllerListener(this);
         // Put the Processor into configured state.
         p.configure();
         if (!waitForState(p.Configured)) {
         System.err.println("Failed to configure the processor.");
         return false;
         // So I can use it as a player.
         p.setContentDescriptor(null);
         // Obtain the track controls.
         TrackControl tc[] = p.getTrackControls();
         if (tc == null) {
         System.err.println("Failed to obtain track controls from the processor.");
         return false;
         // Search for the track control for the video track.
         TrackControl videoTrack = null;
         for (int i = 0; i < tc.length; i++) {
         if (tc.getFormat() instanceof VideoFormat) {
              videoTrack = tc[i];
              break;
         if (videoTrack == null) {
         System.err.println("The input media does not contain a video track.");
         return false;
         System.err.println("Video format: " + videoTrack.getFormat());
         // Instantiate and set the frame access codec to the data flow path.
         try {
         Codec codec[] = { new PreAccessCodec(),
                        new PostAccessCodec()};
         videoTrack.setCodecChain(codec);
         } catch (UnsupportedPlugInException e) {
         System.err.println("The process does not support effects.");
         // Realize the processor.
         p.prefetch();
         if (!waitForState(p.Prefetched)) {
         System.err.println("Failed to realize the processor.");
         return false;
         // Display the visual & control component if there's one.
         setLayout(new BorderLayout());
         Component cc;
         Component vc;
         if ((vc = p.getVisualComponent()) != null) {
         add("Center", vc);
         if ((cc = p.getControlPanelComponent()) != null) {
         add("South", cc);
         // Start the processor.
         p.start();
         setVisible(true);
         return true;
    public void addNotify() {
         super.addNotify();
         pack();
    * Block until the processor has transitioned to the given state.
    * Return false if the transition failed.
    boolean waitForState(int state) {
         synchronized (waitSync) {
         try {
              while (p.getState() != state && stateTransitionOK)
              waitSync.wait();
         } catch (Exception e) {}
         return stateTransitionOK;
    * Controller Listener.
    public void controllerUpdate(ControllerEvent evt) {
         if (evt instanceof ConfigureCompleteEvent ||
         evt instanceof RealizeCompleteEvent ||
         evt instanceof PrefetchCompleteEvent) {
         synchronized (waitSync) {
              stateTransitionOK = true;
              waitSync.notifyAll();
         } else if (evt instanceof ResourceUnavailableEvent) {
         synchronized (waitSync) {
              stateTransitionOK = false;
              waitSync.notifyAll();
         } else if (evt instanceof EndOfMediaEvent) {
         p.close();
         System.exit(0);
    * Main program
    public static void main(String [] args) throws IOException {
         /*if (args.length == 0) {
         prUsage();
         System.exit(0);
         //String url = args[0];
         String url = new String ("file:D:FiMs/avpr.avi");
         if (url.indexOf(":") < 0) {
         prUsage();
         System.exit(0);
         MediaLocator ml;
         //MediaPlayer mp1 = new javax.media.bean.playerbean.MediaPlayer();
         //mp1.setMediaLocation(new java.lang.String("file:D:/FiMs/299_01_hi.mpg"));
         //mp1.start();
         if ((ml = new MediaLocator(url)) == null) {
         System.err.println("Cannot build media locator from: " + url);
         System.exit(0);
         FrameAccess fa = new FrameAccess();
         if (!fa.open(ml))
         System.exit(0);
    static void prUsage() {
         System.err.println("Usage: java FrameAccess <url>");
    * Inner class.
    * A pass-through codec to access to individual frames.
    public class PreAccessCodec implements Codec {
    * Callback to access individual video frames.
         void accessFrame(Buffer frame) {
         // For demo, we'll just print out the frame #, time &
         // data length.
         long t = (long)(frame.getTimeStamp()/10000000f);
         System.err.println("Pre: frame #: " + frame.getSequenceNumber() +
                   ", time: " + ((float)t)/100f +
                   ", len: " + frame.getLength());
         * The code for a pass through codec.
         // We'll advertize as supporting all video formats.
         protected Format supportedIns[] = new Format [] {
         new VideoFormat(null)
         // We'll advertize as supporting all video formats.
         protected Format supportedOuts[] = new Format [] {
         new VideoFormat(null)
         Format input = null, output = null;
         public String getName() {
         return "Pre-Access Codec";
         // No op.
    public void open() {
         // No op.
         public void close() {
         // No op.
         public void reset() {
         public Format [] getSupportedInputFormats() {
         return supportedIns;
         public Format [] getSupportedOutputFormats(Format in) {
         if (in == null)
              return supportedOuts;
         else {
              // If an input format is given, we use that input format
              // as the output since we are not modifying the bit stream
              // at all.
              Format outs[] = new Format[1];
              outs[0] = in;
              return outs;
         public Format setInputFormat(Format format) {
         input = format;
         return input;
         public Format setOutputFormat(Format format) {
         output = format;
         return output;
         public int process(Buffer in, Buffer out) {
         // This is the "Callback" to access individual frames.
         accessFrame(in);
         // Swap the data between the input & output.
         Object data = in.getData();
         in.setData(out.getData());
         out.setData(data);
         // Copy the input attributes to the output
         out.setFormat(in.getFormat());
         out.setLength(in.getLength());
         out.setOffset(in.getOffset());
         return BUFFER_PROCESSED_OK;
         public Object[] getControls() {
         return new Object[0];
         public Object getControl(String type) {
         return null;
    public class PostAccessCodec extends PreAccessCodec {
         // We'll advertize as supporting all video formats.
         public PostAccessCodec() {
         supportedIns = new Format [] {
              new RGBFormat()
    * Callback to access individual video frames.
         void accessFrame(Buffer frame) {
         // For demo, we'll just print out the frame #, time &
         // data length.
         long t = (long)(frame.getTimeStamp()/10000000f);
         System.err.println("Post: frame #: " + frame.getSequenceNumber() +
                   ", time: " + ((float)t)/100f +
                   ", len: " + frame.getLength());
         public String getName() {
         return "Post-Access Codec";
    and here is what itprabhu5 proposed to use to convert and save the frames as .png(or .jpeg in the same way)
    import java.io.*;
    import java.util.*;
    import java.awt.*;
    import java.awt.image.*;
    import javax.imageio.*;
    import javax.media.*;
    import javax.media.control.*;
    import javax.media.format.*;
    import javax.media.util.*;
    * Grabs a frame from a Webcam, overlays the current date and time, and saves the frame as a PNG to c:\webcam.png
    * @author David
    * @version 1.0, 16/01/2004
    public class FrameGrab
         public static void main(String[] args) throws Exception
              // Create capture device
              CaptureDeviceInfo deviceInfo = CaptureDeviceManager.getDevice("vfw:Microsoft WDM Image Capture (Win32):0");
              Player player = Manager.createRealizedPlayer(deviceInfo.getLocator());
              player.start();
              // Wait a few seconds for camera to initialise (otherwise img==null)
              Thread.sleep(2500);
              // Grab a frame from the capture device
              FrameGrabbingControl frameGrabber = (FrameGrabbingControl)player.getControl("javax.media.control.FrameGrabbingControl");
              Buffer buf = frameGrabber.grabFrame();
              // Convert frame to an buffered image so it can be processed and saved
              Image img = (new BufferToImage((VideoFormat)buf.getFormat()).createImage(buf));
              BufferedImage buffImg = new BufferedImage(img.getWidth(null), img.getHeight(null), BufferedImage.TYPE_INT_RGB);
              Graphics2D g = buffImg.createGraphics();          
              g.drawImage(img, null, null);
              // Overlay curent time on image
              g.setColor(Color.RED);
              g.setFont(new Font("Verdana", Font.BOLD, 16));
              g.drawString((new Date()).toString(), 10, 25);
              // Save image to disk as PNG
              ImageIO.write(buffImg, "png", new File("c:\\webcam.png"));
              // Stop using webcam
              player.close();
              player.deallocate();
              System.exit(0);                    
    however, i am unable to use it together with my code... i m not even sure if im using it at the right place.. (note that u will have to discard some lines from the second code, because it is actually grabbing frames from a webcam in that example)
    if any1 can make it happen please help me. thx.

  • How to make the graph follows the position of the video frame

    Hai..
    I want to open the video (. avi) and graph together in one VI.. The videos and graphs can be controlled (forwarded or rewind) in the desired position.. However, the graph should follow where's the position of the video frame..   The graph generated from the data in excel, after reading data, then there is the processing of signals, such as filter, mean, find the peak, etc.. After that the result will appear in the graph..
    Until now, I've been able to display video and graph.. I'm trying to use WMP and also IMAQ..
    Because I want to show the position of the graph or signal when the video plays, I was making a cursor or a line on a graph that follows the position of the video..
    First, I'm trying using WMP.. I can forward and rewind video using WMP, after that I make a cursor on the graph and the position of cursor I put in the position video.. And then when I run the program, the signal that arises from the right, but the cursor in the graph follow the position of the video (the cursor appears on the left) different side with the signal..
    I also tried using IMAQ when I tried to use the video controls, so the video can be forward or rewind using the slide, and I made a graph control to follow the video.. But the video isn't playing, it just show only images or frame in the video..
    Can we create a graph that can follow the position of the video? (graph can be in forward and rewind just like with video)
    I've tried many ways but until now have not been successful.. can someone help me?
    Any help is greatly appreciated thank you.

    This should do pretty much what you want, assuming that a slider is how you are controlling your video position. You are going to have to play around with it a little but it should give you the basic idea.
    Attachments:
    Slider.vi ‏35 KB

  • If I have a list of Vimeo videos on a webpage, how can I use just one video frame and have all videos play in that one frame?

    I am creating a page with a list of Vimeo video links. I want to have only one video frame on the page. So no matter which video link a user clicks on, the chosen video needs to play in that one video frame on the page. How do I do this in Muse?
    Thanks.

    You can use composition widget for this. Insert the video details in trigger container and then insert that corresponding vimeo video widget in that specific target container. So It would work like, users will click on different video buttons but the actual video will play on same frame which is actually a target container of composition.
    The ID that we use for vimeo widget cannot be used for different videos on same time , because every video shares its own ID and url. But you can surely try the above.
    Thanks,
    Sanjit

  • I want to play video on my computer to make some analysis to frames,the problem that I face ,I can't change video frame rate using labview,but I can change frame rate to the video out of labview using some program

    HI All
    I want to play video on my computer to make some analysis to it's frames,the problem that I face ,I can't change video frame rate using labview,but I can change frame rate to the video out of labview using some program .
    I used IMAQ AVI Read Frame VI
    for example I have avi video It's frame rate is 25 fbs ,my image processing code is very fast that can process more 25 fbs,so I want to accelerate video acquisition

    Hi abdelhady,
    I looked into this further, and reading an AVI file into LabVIEW faster than its frames per second won't be possible. LabVIEW could read in frames faster than 25fps, but because it will be pulling the available frame at that point in time this would just give you duplicate frames. If you want to be able to read in frames at faster than 25fps, you would need to speed up your AVI file before reading into LabVIEW.
    There's a good shipping example to show how to read in from an AVI file, "Read AVI File.vi". You'll notice that they add timing to make sure that the while loop runs at the right speed to match up with the frames per second of the file being read. This is to make sure you're not reading duplicate frames.
    Thank you,
    Emily C
    Applications Engineer
    National Instruments

  • Could not complete the video frames to layers because of a program error

    Whenever I try to import video into frames to layers on photoshop, I get this error. (could not complete the video frames to layers because of a program error)
    Why is that and how do I fix it???

    You see my C:\ drive is quite small as it's a SSD, so I made Adobe install programs on my E:\ drive too, however this was the main cause for Adobe not to function.
    After adjusting the settings to install everything back to my C:\ drive, it fixed my issue above and allowed me to run the 64bit version.

  • "Could not complete the Video Frames to Layers command because the movie file could not be opened."

    I'm using Photoshop CS5 extended.
    I've been using that to make gifs. It was fine when I import video frams into layers with the video formats of .mov or .avi. But After I installed OSX 10.6.8, this message comes up everytime I want to import videos: "Could not complete the Video Frames to Layers command because the movie file could not be opened."
    So I installed my old OS back which is 10.6.3 but the problem is still there.
    May I know what to do to solve this problem because all along I've been fine with making gifs and importing videos until now.
    Please help, thank you.

    Adnicej- wrote:
     ...I've been using that to make gifs...
    The computer deities may be trying to say something to you.  GIF is not a video format.
    Are you opening video with the same codec that was successfully opened before?

  • Could not complete the video frames to layers command because the file could not be opened

    I recently learned to make gif images using KMPlayer and my Photoshop CS6, but today I hit a snag that I can't seem to get around. Normally I capture a scene from a show DVD I have in KMPlayer and then import the video frames into layers/frames in photoshop with no problem. Well today I went to do that, and captured the scene with what seemed like no problem (the small captured scene saved with no problem) but when I went to CS6 to import the video into layers, I got the error message "Could not complete the video frames to layers command because the file could not be opened". At first I thought it was the KMPlayer saving the files wrong, so I retried and got the same error message. Irestored the players settings back to a default and the file still wouldn't open in photoshop, and then I even tried uninstalling/reinstalling the player trying to get it to work, and then I thought it must be photoshop, because even scenes I had captured at an earlier day that worked perfectly fine when importing would not open.
    What could possibly be causing this problem to occur. Should I uninstall/reinstall photoshop and see if that works, or am I doing something wrong?
    The files I'm trying to import are AVIs as always, I even tried to capture scenes in other formats to no avail. What could be causing the problem?

    I uninstalled an reinstalled photoshop totally and it didn't fix the problem either. I made a post on the KMPlayer's forum hoping for an answer but I haven't recieved one yet. I'm starting to think it's the kmplayer having a problem capturing, since I've started getting the error "could not import the file to layers because the file has no layers" sometimes in photoshop, but I'm still trying to work around in photoshop to see if the problem came from there.

  • Could not complete the video frames to layers command because the DynamicLink Media Server is not av

    I have this problem, I have PS CS6 and when I click on File> Import> Video Frames to Layers.. Next, the window that says "Initializing Video Import" starting to load and always get stuck and that's what appears: "Could not complete the video frames to layers command because the DynamicLink Media Server is not available". That's with aaaall the videos.
    PS: I've been trying with File> Open but that's what says "Could not complete your request because it is not the right kind of document"
    Anybody know what happens to my photoshop? Thx!

    The relevant auxiliary service/ helper app is being blocked and thus not launching,. anything from permissions issues to security tools getting in teh way. Check your Task Manager/ Activity Monitor, turn off security stuff, run as admin.
    Mylenium

  • Could not complete the Video Frames to Layers command because Ps does not support video on this mac

    im trying to make a gif but it does not allow me to import the video frames this pops up when i do click it.

    Unfortunatly, the 32 bit versions of windows doesn't support video in photoshop cc.
    see this post:
    http://forums.adobe.com/message/5802978#5802978

  • Could not complete the video frames to layers command because photoshop does not support video in th

    When I attempt to import a video I get the message "could not complete the video frames to layers command because photoshop does not support video in this version of windows"  I am running on windows 8.1 pro (32 bit), shouldn't this be compatible???????????

    Unfortunatly, the 32 bit versions of windows doesn't support video in photoshop cc.
    see this post:
    http://forums.adobe.com/message/5802978#5802978

  • I can't import video frames to layers in Photoshop CS4

    I just bought a Macbook Pro, OS X 10.8.4 and installed Photoshop CS4 on it, but when I select import video frames to layers and search for a video, they appear but I can't select any videos. I have the latest version of Quicktime and the videos play fine. I can still use photoshop with photos so it seems like it's just this one function that isn't working. It works on my sister's older Macbook pro though (she hasn't got Mountain Lion though, it's snow leopard OS X 10.6.8), and the only time it didn't work was when there wasn't enough space on the computer but I have over 670GB of available space.

    How can I tell if I am using QT X or QT 7? Do you have any idea how I could fix this issue?
    Edit: I downloaded QT 7 and changed it to my default player and restarted my computer. I don't know if this is what I was supposed to do, but the issue is still unresolved. Just wondering, why does it make a difference if it's QT 7 or X? I'm sorry, I really don't know much about these things as I am relatively new to photoshop

Maybe you are looking for