VideoHelp Forum




+ Reply to Thread
Results 1 to 10 of 10
  1. Hi

    Im developing a CCTV type application and one of the things I need to do is take a large number of images and create a video from them. Can someone tell me what the fastest codec is that I can use? and what settings should I use to get the maximum speed. Im not bothered about size of video etc I just need to be able to create 12 videos each one 6 mins long with a resolution of 640x480 and 25fps in about 1-2 mins.

    Thanx
    Quote Quote  
  2. HuffYUV or Divx in it's fastest mode.
    Quote Quote  
  3. Cool thanx.

    Do you know what the fastest mode of divx is? What settings do I choose?
    Quote Quote  
  4. I think you have to register to use the fastest settings. Enable the Quality Presets option. Move the Quality Presets slider all the way to the left. Then disable the Quality Presets option. That will get you to a known state. Set the Rate Control Mode to "1-Pass Quality Based" and set the Quantizer to 1, 2 or 3 (lower quantizer = higher quality = larger file). Set the Certification Profile to Unconstrained (that will keep the encoder from limiting the bitrate). Set the GOP size (Max Keyframe Interval) to 1. Be sure Advanced Multithreading is enabled if you have a multicore CPU. With those settings I get over 200 fps converting a full D1 PAL video (Q6600 CPU).
    Last edited by jagabo; 20th Apr 2010 at 07:43.
    Quote Quote  
  5. Originally Posted by TSWatson View Post
    Im not bothered about size of video etc I just need to be able to create 12 videos each one 6 mins long with a resolution of 640x480 and 25fps in about 1-2 mins.
    Hmm, that works out to 6x12x60x25 / 60 = 1800 fps. That's a pretty tall order for most single CPUs and codecs...I'd be interested to see what works.
    Quote Quote  
  6. The problem im having is that the frames from the cameras are in 8bpp indexed format and i havnt found a codec that supports it. So im having to convert to another format which takes to long. Does anyone know a codec that will allow me to create videos with 8bpp indexed images?
    Quote Quote  
  7. 8bpp indexed would be 256 colors. Like GIF or PCX. Maybe you should post a sample. But as was pointed out, you will not get 1800 fps conversions of 640x480 frames from any codec.
    Quote Quote  
  8. Far too goddamn old now EddyH's Avatar
    Join Date
    Jan 2003
    Location
    Soul sucking suburbia! But a different part since I last logged on.
    Search Comp PM
    8bpp cameras? Where in the world did you get those from? Unless it's a wierd USB-cam driver issue or something.
    (Or, are they monochrome? It may just be that it's 8-bit greyscale being misrepresented).

    This sounds like a rather wierd project.... most CCTV stuff BTW lowers the resolution a bit (e.g. to 320x240) and the framerate considerably (8.33fps, ie 25/3, would be high) - a hangover from the days of getting 24 hours of material from 4 cameras onto one bogstandard VHS cassette, but equally useful for moderating demands of digital systems. If you could stand to do that, then your needs would immediately become easier to handle; greyscale 1280x720 (4x3 array of 320x240 videos) at, say, 6.25fps (1/4 original rate) at 3-6x realtime encoding speed isn't so much of a tall order... equivalent to 1.6-3.3x speed for 25fps SD resoluton. Still need decent hardware, but it's not unrealistic.

    (Also, most CCTV is recorded live, of course, so it saves direct to the target file at 1:1 speed; you only need single speed encoding in that case (so could improve the quality), but also no need to rush to process it in super-quick time afterwards. Not like you're going to be able to do much active editing in that slot anyway! In fact - have you considered just processing all of them simultaneously with the capture?)

    If this is for professional purposes it may be worth investing in an actual multi-way CCTV digital recording system... though the 12-camera models aren't exactly available for pocket change. Another solution is to have one computer for each camera feed, and have them drop the files onto a shared drive or server at the end.

    ALSO: Though I feel like I'm pimping the utility a little too much at the moment, I'm pretty sure AviSynth's ImageReader may be able to understand those pics. Depends what format they've been dumped in, though - is it BMP, PNG, or what?
    On that note, why can't you livecapture from them rather than taking your input from a pile of image files?
    Last edited by EddyH; 22nd Apr 2010 at 11:41.
    -= She sez there's ants in the carpet, dirty little monsters! =-
    Back after a long time away, mainly because I now need to start making up vidcapped DVDRs for work and I haven't a clue where to start any more!
    Quote Quote  
  9. Ok I think its best if I tell you a bit about my project.

    Im currently a placement student and I have been asked to develop an application that uses IP cameras to monitor a production line. Each camera has buffer which has a maximum size of 3 minutes. When an event occurs on the production line that causes the production line to stop a signal is sent to the program telling the cameras to record the event. So we record the event plus an extra 3 minutes. This means the maximum video size is 6 minutes. Ive been told that the frame rate needs to be at least 25 fps and the resolution needs to be 640x480. I have also been told that there will be 12 cameras on the production line and that the operators expect the videos to be available to be viewed 1 minute after the event has been recorded. So the videos need to be viewed from terminals around the production line and in the offices. There needs to be a server that is responsible for recording all the events and also streaming the camera feed to the clients.

    Ok so now the 8bpp indexed. Im using some Axis 210 cameras at the momemt and I am recieving a MJPG stream. Each image is recieved as a byte array which is then saved into a circular buffer. When converting this byte array to the image it is in the 8bpp indexed format. It seems from what you are saying it could be my code that is converting it to a 8bpp indexed format so ill have a look at that.

    So the reason why im saving images to a buffer instead of recording video in realtime is because the buffer is circular and im unsure as to how I would handle that when recording video in realtime. Ive also worked out that I would have to process each frame in 3 milliseconds which is much better than the 500 micro seconds I would need to process each frame when creating the videos at the end of the recording but still difficult to do.

    I have an old application that was written in Delphi 5 which records video from a camera connected via a serial connection. The software uses the function ICCompress on each image in real time and then saves the image to a buffer. Then at the end it creates the video in the same way im doing. ICCompress takes on average 4 ms to process a frame. Then at the end the video creation time is much quicker. Just happens to be 500 micro seconds per frame which is what im aiming for. So currently im trying to take this routte but its hard work importing ICCompress correctly into C#.
    Quote Quote  
  10. Why don't you just save the raw video data (MJPEG) from the cameras and just display that on demand?
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!