Default
Google


Acquiring from ProHosting Banner Exchange
Mjpegtools extensions and filters
Unless otherwise stated, all of the files on this web site can be compiled with the command:
 

gcc -o <outputfile> <sourcefile> </path/to/libmjpegutils.a> -I</path/to/mjpeg/utils/headers> 

Filters:
yuvmagick: a yuv interface to ImageMagick's convert command.

http://wave.prohosting.com/espsw/mjpeg/yuvmagick.c

synopsis:
 yuvmagick <convert args> [-L]

example usage:
mpeg2dec -s -o YUV input.mpg | yuvmagick -fill "#0000FF" -colorize 10 -gamma .17| mpeg2enc -f 1 -o output.m1v 

I chose the above command as an example because it demonstrates how to reproduce a technique commonly used in Hollywood. called Day4Night  Put a blue filter on the camera, drop the exposure way down and walah, a night shot filmed in the middle of the day. You may have to tweak with the settings to get good results on your footage. Don't try to this technique on footage shot early morning in direct sunlight :) The -L is for interlaced input/output streams.

Before http://wave.prohosting.com/espsw/day.m1v

After http://wave.prohosting.com/espsw/night.m1v

yuvcutter: A filter to set the start and stop frame of mpeg streams.

http://wave.prohosting.com/espsw/mjpeg/yuvcutter.c
 synopsis:
yuvcutter <-o <start frame>> [-f <end frame>]]

example usage:
mpeg2dec -s -o YUV input.mpg | yuvcutter -o 0 -f 1000 mpeg2enc -f 1 -o output.m1vencodes the first 1000 frames to output.m1v

mpeg2dec -s -o YUV input.mpg | yuvcutter -o 1000 -f 2000 mpeg2enc -f 1 -o output.m1v
encodes 1000 frames to output.m1v starting at frame 1000

I wrote this because mpeg2dec doesn't allow you to specify the start and stop frame to decode so this makes clipping easier.

yuvnull: A no nothing but read the stream and kick it back out filter
http://wave.prohosting.com/espsw/mjpeg/yuvnull.c

Ths is just a base that can be used for writing other filters.

Utilities:
 yuvmpegsplit: Reads in a yuv stream and encodes it to multiple mpeg files.

http://wave.prohosting.com/espsw/mjpeg/yuvmpegspilt.c

synopsis:
 yuvmpegsplit -f <number> -b <text>
    -f <number> encode this many frames to each file. default 100
    -b <text> the base output filename with printf style translation. default chunk%02d.m1v

example usage:
mpeg2dec -s -o YUV input.mpg |yuvmpegsplt -f 200 -b output%05d.m1v
splits the input stream into mpegfiles 200 frames long named:
output00000.m1v
output00001.m1v
........
 
 yuvinfo: Reads in a yuv stream and printsout some information
http://wave.prohosting.com/espsw/mjpeg/yuvinfo.c

synopsis:
 yuvinfo

example usage:
mpeg2dec -s -o YUV input.mpg |yuvinfo

Dumps out various information about the yuv stream including frame rate, geometry, and number of frames.



Acquiring image from ProHosting Banner Exchange