Search code examples
videoffmpegimage-enhancement

How to use ffmpeg to convert VCD(dat file) to a batch of images, then convert these images into another video?


I have a old VCD, and I want to enhance it using AI tech. my questions are:

  1. how to know the origin frame rate of this VCD(dat file)?
  2. how to split this VCD into images with the raw frame rate? ( I don't want to miss one frame )
  3. does google has the tech to enhance the old images?
  4. once all the images are enhanced , how to re-combine these into a new video?

If these are some AI tech to repair/convert the entire VCD file, it's also a good choice.

thanks a lot!


Solution

  • OK let me answer my question and you can vote for close as your wish, bosses.

    1. how to know the origin frame rate of this VCD(dat file)?

    use this command:

    ffmpeg -i target.dat -ss 00:01:00 -t 10 images/out-%08d.png
    

    this will split the 1st minutes of your video, and you will see its origin frame rate

    Input #0, mpeg, from 'MUSIC01-马礼堂养气功VCD.DAT':
      Duration: 00:58:04.32, start: 0.653333, bitrate: 1411 kb/s
        Stream #0:0[0x1e0]: Video: mpeg1video, yuv420p(tv), 352x288 [SAR 178:163 DAR 1958:1467], 1120 kb/s, 25 fps, 25 tbr, 90k tbn, 25 tbc
        Stream #0:1[0x1c0]: Audio: mp2, 44100 Hz, stereo, s16p, 224 kb/s
    

    it's 25 fps, 352x288 each frame image size.

    all the old VCD has the same fps ( 25 )

    does google has the tech to enhance the old images?
    once all the images are enhanced , how to re-combine these into a new video?
    
    1. how to split this VCD into images with the raw frame rate?
    ffmpeg -i target.DAT images/out-%08d.png
    

    this will produce images like:

    out-00000001.png
    out-00000002.png
    out-00000003.png
    ...
    
    
    1. does google has the tech to enhance the old images?

    I don't know. will open a new thread/question.

    1. once all the images are enhanced , how to re-combine these into a new video?
    ffmpeg -loglevel trace -f image2 -r 25 -pattern_type sequence -i 'tmp_enlarged_image_folder/vcd3-%08d.png' -vcodec libx264 test.mp4
    

    refer to convert from jpg to mp4 by ffmpeg