3 # Compress an rgb or grey video file to jpeg format
8 # Vmkjpeg [infile [outfile]]
13 # infile : input file (default film.video)
14 # outfile : output file (default out.video)
19 sys
.path
.append('/ufs/guido/src/video')
23 # Main program -- mostly command line parsing
28 args
.append('film.video')
30 args
.append('out.video')
32 sys
.stderr
.write('usage: Vmkjpeg [infile [outfile]]\n')
34 sts
= process(args
[0], args
[1])
38 # Copy one file to another
40 def process(infilename
, outfilename
):
42 vin
= VFile
.BasicVinFile(infilename
)
44 sys
.stderr
.write(infilename
+ ': I/O error: ' + `msg`
+ '\n')
46 except VFile
.Error
, msg
:
47 sys
.stderr
.write(msg
+ '\n')
50 sys
.stderr
.write(infilename
+ ': EOF in video file\n')
54 vout
= VFile
.BasicVoutFile(outfilename
)
56 sys
.stderr
.write(outfilename
+ ': I/O error: ' + `msg`
+ '\n')
61 width
, height
= vin
.getsize()
64 elif info
[0] == 'grey':
65 width
, height
= vin
.getsize()
67 width
, height
= width
/ pf
, height
/ pf
71 sys
.stderr
.write('Vmkjpeg: input not in rgb or grey format\n')
73 info
= (format
,) + info
[1:]
79 t
, data
, cdata
= vin
.getnextframe()
81 sys
.stderr
.write('Frame ' + `n`
+ '...')
82 data
= jpeg
.compress(data
, width
, height
, bytes
)
83 vout
.writeframe(t
, data
, None)
84 sys
.stderr
.write('\n')
90 # Don't forget to call the main program