Video from image files

How can I make a short video for watching in my iPod 30GB from some image files?
Thank you

ckaker_kid says:
1. take a screen shot of every slide.
2. either put the image files into the ipod separtely or make a short video with them
I think from .png files
Thank you

Similar Messages

  • Creating video from images

    I am trying to make video from images
    here is my program
    import java.awt.Dimension;
    import java.awt.Image;
    import javax.media.*;
    import javax.media.control.*;
    import javax.media.protocol.*;
    import javax.media.protocol.DataSource;
    import javax.media.datasink.*;
    import javax.media.format.VideoFormat;
    import javax.media.util.ImageToBuffer;
    import java.io.*;
    import java.util.*;
    *For AVI files, each frame must have a time stamp set. See the following message from the jmf-interest archives for details:
    http://archives.java.sun.com/cgi-bin/wa?A2=ind0107&L=jmf-interest&P=R34660
    public class AviCreator implements ControllerListener, DataSinkListener
    private boolean doIt(
    int width,
    int height,
    int frameRate,
    MediaLocator outML)
         File folder=new File("c:/images1");     
              File [] files=folder.listFiles();
    ImageDataSource ids = new ImageDataSource(width, height, frameRate,files);
    Processor p;
    try
    System.err.println(
    "- create processor for the image datasource ...");
    p = Manager.createProcessor(ids);
    catch (Exception e)
    System.err.println(
    "Yikes! Cannot create a processor from the data source.");
    return false;
    p.addControllerListener(this);
    // Put the Processor into configured state so we can set
    // some processing options on the processor.
    p.configure();
    if (!waitForState(p, Processor.Configured))
    System.err.println("Failed to configure the processor.");
    return false;
    // Set the output content descriptor to QuickTime.
    p.setContentDescriptor(
    new ContentDescriptor(FileTypeDescriptor.MSVIDEO));
    // Query for the processor for supported formats.
    // Then set it on the processor.
    TrackControl tcs[] = p.getTrackControls();
    Format f[] = tcs[0].getSupportedFormats();
    if (f == null || f.length <= 0)
    System.err.println(
    "The mux does not support the input format: "
    + tcs[0].getFormat());
    return false;
    tcs[0].setFormat(f[0]);
    System.err.println("Setting the track format to: " + f[0]);
    // We are done with programming the processor. Let's just
    // realize it.
    p.realize();
    if (!waitForState(p, Processor.Realized))
    System.err.println("Failed to realize the processor.");
    return false;
    // Now, we'll need to create a DataSink.
    DataSink dsink;
    if ((dsink = createDataSink(p, outML)) == null)
    System.err.println(
    "Failed to create a DataSink for the given output MediaLocator: "
    + outML);
    return false;
    dsink.addDataSinkListener(this);
    fileDone = false;
    System.err.println("start processing...");
    // OK, we can now start the actual transcoding.
    try
    p.start();
    dsink.start();
    catch (IOException e)
    System.err.println("IO error during processing");
    return false;
    // Wait for EndOfStream event.
    waitForFileDone();
    // Cleanup.
    try
    dsink.close();
    catch (Exception e)
    p.removeControllerListener(this);
    System.err.println("...done processing.");
    return true;
    * Create the DataSink.
    private DataSink createDataSink(Processor p, MediaLocator outML)
    DataSource ds;
    if ((ds = p.getDataOutput()) == null)
    System.err.println(
    "Something is really wrong: the processor does not have an output DataSource");
    return null;
    DataSink dsink;
    try
    System.err.println("- create DataSink for: " + outML);
    dsink = Manager.createDataSink(ds, outML);
    dsink.open();
    catch (Exception e)
    System.err.println("Cannot create the DataSink: " + e);
    return null;
    return dsink;
    private Object waitSync = new Object();
    private boolean stateTransitionOK = true;
    * Block until the processor has transitioned to the given state.
    * Return false if the transition failed.
    private boolean waitForState(Processor p, 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)
    evt.getSourceController().stop();
    evt.getSourceController().close();
    private Object waitFileSync = new Object();
    private boolean fileDone = false;
    private boolean fileSuccess = true;
    * Block until file writing is done.
    private boolean waitForFileDone()
    synchronized (waitFileSync)
    try
    while (!fileDone)
    waitFileSync.wait();
    catch (Exception e)
    return fileSuccess;
    * Event handler for the file writer.
    public void dataSinkUpdate(DataSinkEvent evt)
    if (evt instanceof EndOfStreamEvent)
    synchronized (waitFileSync)
    fileDone = true;
    waitFileSync.notifyAll();
    else if (evt instanceof DataSinkErrorEvent)
    synchronized (waitFileSync)
    fileDone = true;
    fileSuccess = false;
    waitFileSync.notifyAll();
    public static String[] createParam()
         File folder=new File("c:/images1");     
         String [] files=folder.list();
         String param[]=new String[files.length+8];          
    param[0]="-w";
    param[1]="400";
    param[2]="-h";
    param[3]="300";
    param[4]="-f";
    param[5]="1";
    param[6]="-o";
    param[7]="file:/c:/images/abc.avi";          
         for(int i=8;i<files.length+8;i++)     
              param="file:/c:/images1/"+files[i-8];
    return param;     
    public static void main(String args1[]) throws Exception
    //jpegCreator.main(null);
    //if (args.length == 0)
    // prUsage();
              //String [] args ={"-w","320" ,"-h","240", "-f","1", "-o", "file:/c:/images/abc.mov","file:/c:/images/surya_jo1.jpg", "file:/c:/temp/flower1_jpg.jpg" };
              String [] args=createParam();
    // Parse the arguments.
    int i = 0;
    int width = -1, height = -1, frameRate = 1;
    Vector inputFiles = new Vector();
    inputFiles.add("file:/c:/images/surya_jo1.jpg");
    inputFiles.add("file:/c:/images/flower1_jpg.jpg");
    String outputURL = null;
    width = 128;
    height = 128;
    outputURL = "file:/c:/images/abc.avi";
    // Generate the output media locators.
    MediaLocator oml;
    if ((oml = createMediaLocator(outputURL)) == null)
    System.err.println("Cannot build media locator from: " + outputURL);
    System.exit(0);
    AviCreator imageToMovie = new AviCreator();
    imageToMovie.doIt(width, height, frameRate, oml);
    System.exit(0);
    static void prUsage()
    System.err.println(
    "Usage: java JpegImagesToMovie -w <width> -h <height> -f <frame rate> -o <output URL> <input JPEG file 1> <input JPEG file 2> ...");
    System.exit(-1);
    * Create a media locator from the given string.
    private static MediaLocator createMediaLocator(String url)
    MediaLocator ml;
    if (url.indexOf(":") > 0 && (ml = new MediaLocator(url)) != null)
    return ml;
    if (url.startsWith(File.separator))
    if ((ml = new MediaLocator("file:" + url)) != null)
    return ml;
    else
    String file =
    "file:" + System.getProperty("user.dir") + File.separator + url;
    if ((ml = new MediaLocator(file)) != null)
    return ml;
    return null;
    // Inner classes.
    * A DataSource to read from a list of JPEG image files and
    * turn that into a stream of JMF buffers.
    * The DataSource is not seekable or positionable.
    /************************************************* private class ImageDataSource extends PullBufferDataSource
    private ImageSourceStream streams[];
    ImageDataSource(int width, int height, int frameRate)
    streams = new ImageSourceStream[1];
    streams[0] = new ImageSourceStream(width, height, frameRate);
    public void setLocator(MediaLocator source)
    public MediaLocator getLocator()
    return null;
    public String getContentType()
    return ContentDescriptor.RAW;
    public void connect()
    public void disconnect()
    public void start()
    public void stop()
    public PullBufferStream[] getStreams()
    return streams;
    public Time getDuration()
    System.out.println("dur is " + streams[0].nextImage);
    //return new Time(1000000000);
    return DURATION_UNKNOWN;
    public Object[] getControls()
    return new Object[0];
    public Object getControl(String type)
    return null;
    * A DataSource to read from a list of JPEG image files or
    * java.awt.Images, and
    * turn that into a stream of JMF buffers.
    * The DataSource is not seekable or positionable.
    private static class ImageDataSource extends PullBufferDataSource {
    private final Time durTime;
    private final PullBufferStream[] streams = new JpegSourceStream[1];
    * Constructor for creating movies out of jpegs
    ImageDataSource(int width, int height, int frameRate, File[] jpegFiles) {
    streams[0] = new JpegSourceStream(width, height, frameRate, jpegFiles);
    this.durTime = new Time(jpegFiles.length / frameRate);
    * Constructor for creating movies out of Images
    * NOTE - this is all done IN MEMORY, so you'd better have enough
    /*ImageDataSource(int width, int height, int frameRate, Image[] images) {
    streams[0] = new AWTImageSourceStream(width, height, frameRate, images);
    this.durTime = new Time(images.length / frameRate);
    public void setLocator(MediaLocator source) {
    public MediaLocator getLocator() {
    return null;
    * Content type is of RAW since we are sending buffers of video
    * frames without a container format.
    public String getContentType() {
    return ContentDescriptor.RAW;
    public void connect() {
    public void disconnect() {
    public void start() {
    public void stop() {
    * Return the ImageSourceStreams.
    public PullBufferStream[] getStreams() {
    return streams;
    public Time getDuration() {
    return durTime;
    public Object[] getControls() {
    return new Object[0];
    public Object getControl(String type) {
    return null;
    * The jpeg-based source stream to go along with ImageDataSource.
    private static class JpegSourceStream implements PullBufferStream {
    private final File[] jpegFiles;
    private final int width, height;
    private final VideoFormat videoFormat;
    private int nextImage = 0; // index of the next image to be read.
    private boolean ended = false;
    // Bug fix from Forums - next one line
    long seqNo = 0;
    public JpegSourceStream(int width, int height, int frameRate, File[] jpegFiles) {
    this.width = width;
    this.height = height;
    this.jpegFiles = jpegFiles;
    this.videoFormat = new VideoFormat(VideoFormat.JPEG,
    new Dimension(width, height),
    Format.NOT_SPECIFIED,
    Format.byteArray,
    (float)frameRate);
    * We should never need to block assuming data are read from files.
    public boolean willReadBlock() {
    return false;
    * This is called from the Processor to read a frame worth
    * of video data.
    public void read(final Buffer buf) {
    try {
    // Check if we've finished all the frames.
    if (nextImage >= jpegFiles.length) {
    // We are done. Set EndOfMedia.
    System.out.println("Done reading all images.");
    buf.setEOM(true);
    buf.setOffset(0);
    buf.setLength(0);
    ended = true;
    return;
    File imageFile = jpegFiles[nextImage];
    nextImage++;
    System.out.println(" - reading image file: " + imageFile);
    // Open a random access file for the next image.
    RandomAccessFile raFile = new RandomAccessFile(imageFile, "r");
    byte[] data = (byte[])buf.getData();
    // Check to see the given buffer is big enough for the frame.
    if (data == null || data.length < raFile.length()) {
    // allocate larger buffer
    data = new byte[(int)raFile.length()];
    buf.setData(data);
    // Read the entire JPEG image from the file.
    raFile.readFully(data, 0, (int)raFile.length());
    System.out.println(" read " + raFile.length() + " bytes.");
    // Bug fix for AVI files from Forums ( next 3 lines).
    long time = (long) (seqNo * (1000 / videoFormat.getFrameRate()) * 1000000);
    buf.setTimeStamp(time);
    buf.setSequenceNumber(seqNo++);
    buf.setOffset(0);
    buf.setLength((int)raFile.length());
    buf.setFormat(videoFormat);
    buf.setFlags(buf.getFlags() | buf.FLAG_KEY_FRAME);
    // Close the random access file.
    raFile.close();
    } catch (Exception e) {
    // it's important to print the stack trace here because the
    // sun class that calls this method silently ignores
    // any IOExceptions that get thrown
    e.printStackTrace();
    throw new RuntimeException(e);
    * Return the format of each video frame. That will be JPEG.
    public Format getFormat() {
    return videoFormat;
    public ContentDescriptor getContentDescriptor() {
    return new ContentDescriptor(ContentDescriptor.RAW);
    public long getContentLength() {
    return LENGTH_UNKNOWN;
    public boolean endOfStream() {
    return ended;
    public Object[] getControls() {
    return new Object[0];
    public Object getControl(String type) {
    return null;
    * The source stream to go along with ImageDataSource.
    /*************************************************************** class ImageSourceStream implements PullBufferStream
    final int width, height;
    final VideoFormat format;
    // Bug fix from Forums - next two lines
    float frameRate;
    long seqNo = 0;
    int nextImage = 0; // index of the next image to be read.
    boolean ended = false;
    public ImageSourceStream(int width, int height, int frameRate)
    this.width = width;
    this.height = height;
    // Bug fix from Forums (next line)
    this.frameRate = (float) frameRate;
    final int rMask = 0x00ff0000;
    final int gMask = 0x0000FF00;
    final int bMask = 0x000000ff;
    format =
    new javax.media.format.RGBFormat(
    new Dimension(width, height),
    Format.NOT_SPECIFIED,
    Format.intArray,
    frameRate,
    32,
    rMask,
    gMask,
    bMask);
    public boolean willReadBlock()
    return false;
    public void read(Buffer buf) throws IOException
    // Check if we've finished all the frames.
    if (nextImage >= 100)
    // We are done. Set EndOfMedia.
    System.err.println("Done reading all images.");
    buf.setEOM(true);
    buf.setOffset(0);
    buf.setLength(0);
    ended = true;
    return;
    nextImage++;
    int data[] = null;
    // Check the input buffer type & size.
    if (buf.getData() instanceof int[])
    data = (int[]) buf.getData();
    // Check to see the given buffer is big enough for the frame.
    if (data == null || data.length < width * height)
    data = new int[width * height];
    buf.setData(data);
    // Bug fix from Forums ( next 3 lines).
    long time = (long) (seqNo * (1000 / frameRate) * 1000000);
    buf.setTimeStamp(time);
    buf.setSequenceNumber(seqNo++);
    java.awt.Color clr = java.awt.Color.red;
    if (nextImage > 30)
    clr = java.awt.Color.GREEN;
    if (nextImage > 60)
    clr = java.awt.Color.BLUE;
    for (int i = 0; i < width * height; i++)
    // TODO - figure what the guy was trying to do here.
    data[i] = clr.getRGB();
    buf.setOffset(0);
    buf.setLength(width * height);
    buf.setFormat(format);
    buf.setFlags(buf.getFlags() | Buffer.FLAG_KEY_FRAME);
    public Format getFormat()
    return format;
    public ContentDescriptor getContentDescriptor()
    return new ContentDescriptor(ContentDescriptor.RAW);
    public long getContentLength()
    return 0;
    public boolean endOfStream()
    return ended;
    public Object[] getControls()
    return new Object[0];
    public Object getControl(String type)
    return null;
    * The java.awt.Image-based source stream to go along with ImageDataSource.
    * Not sure yet if this class works.
    private static class AWTImageSourceStream implements PullBufferStream {
    private final Image[] images;
    private final int width, height;
    private final VideoFormat videoFormat;
    private int nextImage = 0; // index of the next image to be read.
    private boolean ended = false;
    // Bug fix from Forums - next one line
    private long seqNo = 0;
    public AWTImageSourceStream(int width, int height, int frameRate, Image[] images) {
    this.width = width;
    this.height = height;
    this.images = images;
    // not sure if this is correct, especially the VideoFormat value
    this.videoFormat = new VideoFormat(VideoFormat.RGB,
    new Dimension(width, height),
    Format.NOT_SPECIFIED,
    Format.byteArray,
    (float)frameRate);
    * We should never need to block assuming data are read from files.
    public boolean willReadBlock() {
    return false;
    * This is called from the Processor to read a frame worth
    * of video data.
    public void read(final Buffer buf) throws IOException {
    try {
    // Check if we've finished all the frames.
    if (nextImage >= images.length) {
    // We are done. Set EndOfMedia.
    System.out.println("Done reading all images.");
    buf.setEOM(true);
    buf.setOffset(0);
    buf.setLength(0);
    ended = true;
    return;
    Image image = images[nextImage];
    nextImage++;
    // Open a random access file for the next image.
    //RandomAccessFile raFile = new RandomAccessFile(imageFile, "r");
    Buffer myBuffer = ImageToBuffer.createBuffer(image, videoFormat.getFrameRate());
    buf.copy(myBuffer);
    // Bug fix for AVI files from Forums ( next 3 lines).
    long time = (long) (seqNo * (1000 / videoFormat.getFrameRate()) * 1000000);
    buf.setTimeStamp(time);
    buf.setSequenceNumber(seqNo++);
    //buf.setOffset(0);
    //buf.setLength((int)raFile.length());
    //buf.setFormat(videoFormat);
    //buf.setFlags(buf.getFlags() | buf.FLAG_KEY_FRAME);
    } catch (Exception e) {
    // it's important to print the stack trace here because the
    // sun class that calls this method silently ignores
    // any Exceptions that get thrown
    e.printStackTrace();
    throw new RuntimeException(e);
    * Return the format of each video frame.
    public Format getFormat() {
    return videoFormat;
    public ContentDescriptor getContentDescriptor() {
    return new ContentDescriptor(ContentDescriptor.RAW);
    public long getContentLength() {
    return LENGTH_UNKNOWN;
    public boolean endOfStream() {
    return ended;
    public Object[] getControls() {
    return new Object[0];
    public Object getControl(String type) {
    return null;
    bit i am getting following exception at run time
    1
    2
    3
    4
    5
    6
    - create processor for the image datasource ...
    Setting the track format to: JPEG
    - create DataSink for: file:/c:/images/abc.mov
    start processing...
    - reading image file: file:/c:/images/surya_jo1.jpg
    - reading image file: file:/c:/images/flower1_jpg.jpg
    Done reading all images.
    Exception in thread "JMF thread: SendEventQueue: com.sun.media.processor.unknown.Handler" java.lang.NullPointerException
    at com.sun.media.multiplexer.video.QuicktimeMux.writeVideoSampleDescription(QuicktimeMux.java:936)
    at com.sun.media.multiplexer.video.QuicktimeMux.writeSTSD(QuicktimeMux.java:925)
    at com.sun.media.multiplexer.video.QuicktimeMux.writeSTBL(QuicktimeMux.java:905)
    at com.sun.media.multiplexer.video.QuicktimeMux.writeMINF(QuicktimeMux.java:806)
    at com.sun.media.multiplexer.video.QuicktimeMux.writeMDIA(QuicktimeMux.java:727)
    at com.sun.media.multiplexer.video.QuicktimeMux.writeTRAK(QuicktimeMux.java:644)
    at com.sun.media.multiplexer.video.QuicktimeMux.writeMOOV(QuicktimeMux.java:582)
    at com.sun.media.multiplexer.video.QuicktimeMux.writeFooter(QuicktimeMux.java:519)
    at com.sun.media.multiplexer.BasicMux.close(BasicMux.java:142)
    at com.sun.media.BasicMuxModule.doClose(BasicMuxModule.java:172)
    at com.sun.media.PlaybackEngine.doClose(PlaybackEngine.java:872)
    at com.sun.media.BasicController.close(BasicController.java:261)
    at com.sun.media.BasicPlayer.doClose(BasicPlayer.java:229)
    at com.sun.media.BasicController.close(BasicController.java:261)
    at JpegImagesToMovie.controllerUpdate(JpegImagesToMovie.java:196)
    at com.sun.media.BasicController.dispatchEvent(BasicController.java:1254)
    at com.sun.media.SendEventQueue.processEvent(BasicController.java:1286)
    at com.sun.media.util.ThreadedEventQueue.dispatchEvents(ThreadedEventQueue.java:65)
    at com.sun.media.util.ThreadedEventQueue.run(ThreadedEventQueue.java:92)
    plz help me
    thanks in advance

    Step 1) Copy that code into a .java file
    Step 2) Compile it
    Step 3) Run it
    Step 4) Look at the output
    Step 5 (optional)) If it didn't work, post a specific question about the code, and use [co[b]de] tags.

  • Video from .ts files (created with Arcsoft Showbiz) played in accelerated.

    Hello everybody, can you explain me why in PREMIERE PRO CS6, the video from .ts files (created with Arcsoft Showbiz) is played in accelerated while the sound is played normally ?
    If it is normal, an update would be great
    Thank you.

    >imported from vhs (with Hauppage Colossu).
    As far as I know, the best way to digitize vhs tapes is with a http://www.grassvalley.com/products/converters product
    Model 55 is one way from tape to computer, model 110 allows exporting back to tape
    Files are DV AVI which edit very well in all versions of Premiere

  • Hi everybody,please someone help me,i had a 3gs last year and i bought a 4,but itunes doesn't synch videos from photos file and it crashes,every time i try to synch photos it stacks when videos try to synch and crashes,what to do please?

    hi everybody,please someone help me,i had a 3gs last year and i bought a 4,but itunes doesn't synch videos from photos file and it crashes,every time i try to synch photos it stacks when videos try to synch and crashes,what to do please?

    hi i had the same problem today when i updated my itunes to latest version. however, i have just found my songs in the 'itunes media' folder. this was accessed through 'my music'  then keep clicking through until you find itunes media and all my library songs were in there and i then just added these files to my library and all were restored however, i have lost all my playlists but at least my 700 songs are back. very dissapointed with apple that they have let this happen with their latest update, the previous version was miles better than this one . hope you find them. stevo

  • How to render a video from image sequence with custom frame rate?

    Dear all,
    For a project i would like to create a video from 47 images with a custom frame rate. To achieve this i take the following steps in Photoshop CS6 extended:
    1) File -> Open...
    2) Select the first image and select " image sequence ". All images have the same size (1280 x 1261 px) and are numbered correctly.
    3) Click open
    4) Frame Rate: Custom 3 fps
    5) File -> Export -> Render Video... -> Render
    6) Play the video with VLC. The video shows a still image of the first image.
    If i choose a frame rate of 10 fps, then there is no problem. VLC plays the video as expected.
    Is there a other way to create a video from 47 images and choose a custom frame rate? Or what am i doing wrong?

    Seen this SO thread?
    http://stackoverflow.com/questions/6691136/how-to-convert-series-of-images-into- movie-in-ios

  • Extra/Notes/ linking to video from Text files

    With this new build release January 10 2006, I was wondering if the Notes engine found in the iPod Video had been updated to support "links to video files" from text files in Notes.
    If yes, what is the tag?
    Thnx!
    JF

    Looks like the Notes engine released when the iPod Video was shipped in October 2005 did not have any built-in support to link assets such as Images and Video.
    Apple would need to add tags to support video and image linking in the Notes engine.
    Does anyone knows when we should expect this fix to happen?

  • Unusual Bug when creating pdf from image files

    Hi I have a very mindboggling problem which I cant seem to get my head around.
    basically I am trying to create a pdf using a large amount of image files, these images are scans of pages of a book. so I have been trying to create a pdf file from these images, and everytime i try, it all looks ok except for one page which comes up smaller in size than the rest which is a big problem and very unusual. If I change the view of acrobat so that it shows two pages at a time then this is clearly visable where one page is normal and the page next to it is like a third of the size. Ive checked the image file properties for that page and they are more or less the same as the rest, the dimensions of the image file too, but when I add it into a PDF it seems to shrink in size, any ideas as to why? any help would be much appreciated! (and I hope what I said made sense lol )
    Thanks
    Nav

    Hi Davew000
    Can you please tell the steps you are doing to create the PDF ?
    Thanks,
    Tanvi

  • Pdftotext extracting from image files mystery

    hello all, just had a bit of a shock when I ran pdftotext (accidentally) on an unocr'd pdf file, and it extracted all the text. Running pdftohtml (as I'd intended) produced the expected output - i.e. png dumps. Curious, I then tried running it on a bunch of other downloaded files, and with the exception of one, pdftotext extracted the text from ALL of them. The mystery then is that it isnt using any ocr (no tesseract dependency, plus it's way too quick), so clearly it must be pulling it directly from the files. But if the text really is there in the original, then presumably the people who scanned them didn't know, else they'd have left it there. The only thing I can think is that some common piece of pdf software (probably acrobat) has ocr built in, so it's scanning them automatically and then encoding the hidden text in the pdf.
    take for example (legal):
    http://www.cd3wd.com/cd3wd_40/JF/JF_VE/SMALL/27-714.pdf
    open up in a normal pdfreader - very clearly a (poorly) scanned document. Now run 'pdftotext -layout'  on it and you get a pretty impressive text file, considering the source. Sure, some of the formatting is messed up, but I'm sure anyone with sed knowledge could quickly sort most of that out. Besides, that's one of the worst documents -  on most others it was perfect, maintaining columns (even tesseract can't do that) and everything.
    It makes for a fantastic command line pdf reader that works on almost all the files I've thrown at it, and since pdf's are almost the only reason I ever have to load up X, consider me tickled pink.
    Just thought I'd mention it here, as a google search brings up nothing on the issue. hope someone finds it useful

    Yes, Adobe Acrobat has a feature that allows you OCR the text and insert the text as a separate layer behind the image. Such PDFs are called "Searchable image PDFs". There are no doubt some other commercial software options that can do this too. The copier/scanner/multifunction device in my office actually does this automatically when you scan in a text PDF.
    Theoretically, it is even possible to create PDFs like this using free software on linux (a combination of ExactImage and Cuneiform; or WatchOCR).
    See, e.g., this blog post:
    Searchable PDFs with linux
    and this slashdot story:
    Open Source OCR that makes Searchable PDFs
    My own experiments with trying to get something like this to work have not been very successful--at least the quality of the result is nowhere near what I'm getting with our work printer.
    If you like pdftohtml, you should also know about pdfreflow, which takes the XML output of pdftohtml with the -xml flag and creates an html file that can be reflowed (I.e., is smart about paragraph breaks, removes page numbers and recombines words broken through hyphenation and so on).
    pdfreflow
    Last edited by frabjous (2010-10-15 13:03:00)

  • Reading metadata to - from image files

    I am using Creative Suite CS4.  In CS3 I created two custom XMP metadata pages that I used to add information to RAW, TIF, PSD files.  The resulting custom panel could be seen and used in Bridge and Extensis Portfolio.  In CS4 that all changed.  I can create the GUI part of the panel using Flex Builder 3.
    My questions are 1) How do you get the controls to work (combo boxes with fixed lists, fields for text data and a note field), 2) how do I get the data from the image file, have it update when a field changes, read it back to the image file when closed, and 3) how do I get it to work in Bridge CS4 properly and also be readable to Extensis Portfolio.
    I have attached the CS3 files that were used to create the panels in CS3.
    Fred

    I am using Creative Suite CS4.  In CS3 I created two custom XMP metadata pages that I used to add information to RAW, TIF, PSD files.  The resulting custom panel could be seen and used in Bridge and Extensis Portfolio.  In CS4 that all changed.  I can create the GUI part of the panel using Flex Builder 3.
    My questions are 1) How do you get the controls to work (combo boxes with fixed lists, fields for text data and a note field), 2) how do I get the data from the image file, have it update when a field changes, read it back to the image file when closed, and 3) how do I get it to work in Bridge CS4 properly and also be readable to Extensis Portfolio.
    I have attached the CS3 files that were used to create the panels in CS3.
    Fred

  • Extracting videos from Captivate file

    A while a go I was using one of the earlier versions of Captivate that was around in 2010. I made a long recording which resulted in 2GB worth of data packed into an application type file that Capt. can produce.
    The problem is that when ever I try and open this huge recording, the splash screen appears then soon results in: Out of memory while expanding stream.
    Is there any way I can EXTRACT the video material from this file?

    Hi There ,
    Do you still have the Adobe Captivate on you Computer from which you published the ouput.
    Can you tell me the Exact version of Adobe Captivate (Go to Help > About Adobe Captivate).
    Where have you saved your output file, Is it on some sort of network location?
    You have mentioned earlier that you Published it as a .exe , But if you Publish it as a .exe there is only one file that is created in the ouput folder.
    But there are other files as well in the same folder , so did you tried to extract the content of exe file from ay other tool.
    Thanaks and Regards
    Himanshu Satija

  • Setting background from image file in NetBeans

    Hello,
    recently I started to use NetBeans to create my applications and I found a little problem - I don't know how to set background in JPanel from a image file (*.bmp, *.jpg, etc.) without writing my own code. I found how to use ImageIcon, but cannot deal with setting background. Anyone know a solution?

    The code that you have to write is a custom JPanel (extend it) and in the paintComponent() method you draw the image you want as a background.
    public void paintComponent(Graphics g)
    super.paintComponent(g);
    g.drawImage(img, 0, 0, null);
    }Where 'img' is an object of type Image (such as a BufferedImage).

  • Unable to create cd from Image file

    I downloaded the Solaris 8 for Intel, unzipped the files. I have been unsuccessful creating an image file for the file sol-8-1_01-fcs-bin-ia-v1. I have tried various CD writing applications.
    I was able to create images from the other files.
    Thanks

    You are not supposed to create an image file from the unzipped data. These unzipped files are image
    files! You just have to rename them using the proper file extension so that your CD-R burning software
    recognizes them as cd image files. (common extension are .ISO or .RAW; check with your CD recording
    software)

  • Coverting video from images without using JMF.

    Dear All,
    I want to convert video from sequence of images.
    I have used JMF sample for doing the same.It works pretty fine.
    But I want to do same without using JMF.
    Do anyone here used another libraries like FFMPEG for Java or Theora to achieve same.
    If you have any idea about it, please reply.
    Yours Sincerely,
    Ashish Nijai

    I've done this in the past by calling out to ffmpeg as an external application. There's nothing Java specific in that other than the act of calling an external binary - for which the ProcessBuilder API should be your starting point. If you have questions about ProcessBuilder start a new thread in "Java Programming" or "New To Java" but remember to google first - it's a common topic.
    A bit of Googling suggests that there might be some JNI wrappers for ffmpeg too.
    Note that on the project where I used ffmpeg we eventually went over to running it in batches from a cron script with no Java components at all.

  • Problem in constructing URL from Image file

    Hi,
    i have a requirement , have to construct a URL object with an absolute image file..
    like URL url = new URL("/resources/image1.gif")
    url.getpath()
    But url is returning null, as it couln't found rela path..
    but previously i have using
    String realPath = servletContext.getRealPath("/images/stateseal_green.jpg");
    it was working, but now i dont have servletContext object..
    any suggestions around this problem?

    Hi,
    Is the root directory /resources relative or abs directory?
    It seems you have java application and the resources is on the class path right? so it is relative to the file system.
    try the below it may help
    ClassLoader cl = null;
              cl = Thread.currentThread().getContextClassLoader();
              if (cl == null) {
                    * No thread context class loader -> use class loader of this class
                   cl = GetImageFileOnResourceDirectory.class.getClassLoader();
              InputStream inputStream = (cl
                        .getResourceAsStream("resources/images/image1.gif"));Regards,
    Alan Mehio
    London,UK

  • Creating MP4 Videos from Images - Resolution Issue

    Currently I am using the Media Foundation SDK to convert Images to a H.264 video using the following example from Microsoft.
    https://msdn.microsoft.com/en-us/library/windows/desktop/ff819477(v=vs.85).aspx
    I have encountered an Issue when adjusting the MF_MT_FRAME_SIZE of the media type object used for input,  it would seem that if the resolution is higher then monitor the computer is connected to the call to SetInputMediaType for the IMFSinkWriter object
    returns an HRESULT error code 0xc00d36b4.  The only differences in my code from the example is the following constants defined at the top.
    const UINT32 VIDEO_WIDTH = 2048;
    const UINT32 VIDEO_HEIGHT = 1088;
    const GUID VIDEO_ENCODING_FORMAT = MFVideoFormat_H264;
    Any help in the matter would be appreciated.

    @Loki_
    What if you use the preloaded file commander? 
    "I'd rather be hated for who I am, than loved for who I am not." Kurt Cobain (1967-1994)

Maybe you are looking for

  • Open discoverer report in new browser window and without connections page

    Hi All, We are using Oracle 11g Discoverer 11.1.1.4.  Requirement is to open the discoverer report in a new browser window and without connections page. When we are running discoverer reports with this parameters we unwantedly get the connections pag

  • Is the MacBook Pro with retina display good for gaming?

    I was looking at the MacBooks and I was thinking about the one with retina display.  I wanted to know if it was good for gaming also. Just something like skyrim or maybe WOW.

  • How to delete the data based on concurrent request Id

    Hi from account receivable to gl i am posted a cheque through concurrent program. right now my problem is I want to delete that data in database tables based on concurrent request id. how to delete that data based on concurent request id, Please give

  • How to Get details of list of SC from list of PO & vice versa ?

    Hello All, Can Please anyone tell me how to get the list of Shopping Carts from the list of PO. I have list of Purchase orders numbers. Can you please suggest any standard table or combination of standard tables from which I can get this report ? We

  • N-Step approval shopping cart

    How to activate N-Step Shopping cart approval workflow in Process controlled workflows in SRM7. Is it just activating the BC sets will activate the N-step approval workflow. Please sugggest step by step.