Em Andamento

Video clip frame extractor component (.net 2.0, x64)

**Video clip frame extractor component**

The purpose of this component is to extract 20 most different frames from the video clip. Where I say 20 the number should be configurable. Video clips will be from 1 second to one minute in size (seldomly longer).

## Deliverables

The purpose of this component is to extract 20 most different frames from the video clip. Where I say 20 the number should be configurable. Video clips will be from 1 second to one minute in size (seldom longer).

## Algorithm

### Step 1:

Video clip should be converted to the series of the frames. Frames can be saved to hard drive at this point, and numbered like

[url removed, login to view]

[url removed, login to view]

...

[url removed, login to view]

ffmpeg can probably extract the images for us here, and we are aiming for most simple solution.

### Step 2:

All frames should be scaled and read into the memory. For PAL, and for example 1 minute movie will be 25x60 = 1500 frames, and for 720x576 picture times 3 for RGB that is 1780megabytes, so even if we don't have enough RAM, virtual memory will kick in here. Frames should be stored in memory as RAW decompressed RGB images.

### Step 3:

Given the image differencing algorithm (source code included), the pair with best similarity score will be selected, and first frame from the pair will be eliminated from the memory. First and last frames should never be eliminated. Count of frames should be decreased and checked for target frame count (number 20 from first paragraph). If remaining frames are left, repeat.

### Step 4:

All frames except ones that remained in the memory should be erased from the disk. Remaining frames are to be scaled again (different target size) and saved to disk as:

[url removed, login to view]

[url removed, login to view]

[url removed, login to view]

and so on.

### Step 5:

Remaining scaled frames should be combined into STRIP image that contains each frame stacked to each other from left to right. So if we have scaled frames of width 90 and have 20 of them, we will have resulting STRIP with width of 1800.

### Step 6:

Map file should be created, with simple timecode for each frame. That means that for each frame, its starting time (relative to the movie clip) is given. File should look like:

[url removed, login to view] 00:00:00.000

[url removed, login to view] 00:00:04.960

[url removed, login to view] 00:00:21.720

assuming the file has 25 FPS

-----

## Now, parameters for the operation are:

### Input directory

Directory with .mpg files will be given, and all of the files should be

processed.

### Number of frames to extract

It should be 3 minimum. First and the last frames are always extracted!

### Image size for elimination process

Either 'video clip input size' or defined by width and the height of the

picture.

### Resulting frame size

Either 'video clip input size' or defined by width and the height of the picture. Frames here are rescaled from the original frames, not resized in

step 2.

Image comparation algorithm:

found in file attached.

## Directory structure

/inputdirectory

will contain input video clips

for each video clip with given name ZZZXXXYYY, directory

/inputdirectory/[url removed, login to view]

will be created and temporary and output files should be put there.

Platform:

.NET 2.0, Win7 x64 targets, because of memory consumption

## Further optimizations

Candidate who successfully perform this task will be presented with an option of optimizing the extraction process further.

## Testing process

From the list of 15000 video clips, coder will get 1000 to work with (will be shared via torrent). On my side, code will be tested against all 15000 clips.

Habilidades: Programação C, Programação C#, Microsoft, Instalação de Script, Shell Script, Área de trabalho do Windows

Ver mais: frames video clip net, virtual height it solution, video starting, us algorithm, starting video, solution algorithm, simple algorithm example, score extractor, programming algorithm example, pair programming video, pair programming, net algorithm, example of an algorithm in programming, example of algorithm in programming, c look algorithm, algorithm testing, algorithm component, ram c, series programming in c, X64, virtual height, video clips, similarity, look frame, fps

Acerca do Empregador:
( 108 comentários ) Zagreb, Croatia

ID do Projeto: #3058885

Premiar a:

opainc

See private message.

$100 USD em 15 dias
(3 Avaliações)
3.9

3 freelancers estão ofertando em média $147 para este trabalho

mstechIN

See private message.

$170 USD in 15 dias
(56 Comentários)
6.1
njm137

See private message.

$170 USD in 15 dias
(15 Comentários)
3.9