1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
|
README for the TOOLS directory
==============================
Preamble
--------
In this directory you can find some nice scripts and code that makes
using MPlayer and MEncoder easier, for example scripts for DVD track
encoding in three pass mode or creating SVCDs from a movie.
FIXME: Document all the stuff in the subdirectories.
MPlayer scripts in the TOOLS dir
--------------------------------
midentify
Author: Tobias Diedrich
Description: Runs 'mplayer -identify' for all arguments while preventing
video window flashing.
Usage: midentify file1 [file2 ...]
mpconsole
Author: Rich Felker
Description: Script to run MPlayer on the console (fbdev/mga_vid/etc.) without
the console text and/or flashing cursor getting in the way.
Usage: mpconsole [mplayer options]
mplmult.sh
Author: Reimar Döffinger
Description: Example how to output video on multiple windows in sync. Might
be even more useful in combination with -vo ggi to distribute
the video arbitrarily.
Usage: mplmult.sh <n> <options>
n number of MPlayer instances that display the video
options any options you would pass to MPlayer, more than
one file will usually not work
subsearch.sh
Author: Alex Beregszaszi
Description: Collects subtitle files from the directory given as argument
('.' if none is given) and its subdirectories and prints
them as a comma separated list to stdout.
Usage: subsearch.sh [directory]
mplayer -sub `subsearch.sh` movie
x2mpsub.sh
Author: Gabucino
Description: Converts the subtitles in the current directory into MPsub
format (subtitles go in ./converted-subtitles/).
Usage: x2mpsub.sh
mp.pl
Author: Felix Bünemann
Description: Small helper script that allows to play multiple files with
MPlayer. Wildcards are supported.
Usage: mp.pl <parameters> <files>
Where <parameters> are all possible command line switches
for MPlayer and <files> can be either a list of files,
like file1 file2 file3 and/or a wildcard definition,
like *.avi.
example: mp.pl -vo x11 /dvd/VIDEO_TS/VTS_05_*.VOB movie.asf
wma2ogg.pl
Author: Peter Simon
Description: Converts WMA files to Ogg or MP3.
Usage: wma2ogg [options] <-f FILE1 | -f FILE2 ... | -a>
-f, -file filename
-a converts all WMA files in the current directory
-t output filetype (ogg, mp3) [default=ogg]
-lame I wanna use L.A.M.E. sure enough!
-br bitrate (kb/s) [default=from the WMA]
-del remove WMA file(s) after the transcoding
MEncoder scripts in the TOOLS dir
---------------------------------
divx2svcd
Author: Miklos Vajna
Description: A simple utility that creates an SVCD from a video in an AVI
container.
Usage: divx2svcd <input_avi> [options]
see 'divx2svcd -h' for more info
menc2pass
Author: Felix Bünemann
Description: Helper script to ease MEncoder two pass encoding. Give it all
the encoding parameters you would pass to mencoder, but leave
out the (v)pass=<n> suboption.
Usage: menc2pass <options>
mencvcd
Author: Jürgen Hammelmann
Description: Converts DVD (or anything else that MPlayer plays) to (S)VCD
Usage: mencvcd <basename> [mencvcd options] [mplayer options]
see 'mencvcd -h' for more info
Note: Requires MPlayer, mjpegtools, VCDImager, cdrdao, and optionally
LAME, tooLAME and SoX.
dvd2divxscript.pl
Author: Florian Schilhabel
Description: Yet another DVD to divx helper script.
This script encodes a DVD track in three pass mode to MPEG-4 with
libavcodec. Optionally it writes the resulting movie file to
CD-ROM the corresponding audio track to MP3. It can also shut
down the computer when it finishes. If you like, you can
watch the MEncoder output on /dev/tty8.
Usage: --help show help
--abr (AudioBitRate) Please enter the desired bitrate this
can be either [96|128|192] kbit/sec (default: 128).
--lang Specify the Language of the audio track this can be
for example <en> or <de> (default: <de>).
--dvd Specify the DVD track you want to encode.
--cdsize Specify the size of your CD-ROM (default: 700MB).
--shutdown Shutdown the system, when the encoding process has
finished. Needs appropriate privileges.
--out Specify the name of your encoded movie. The file
extension will be appended automatically.
--writecd Takes the newly created movie and writes it to a
CD-ROM.
--writedev cdrecord device identifier, for example 0,1,0
--speed writing speed (default: 4)
--dvd-device device to pull the video off (default: /dev/dvd)
aconvert
Author: Jonas Jermann
Description: A hack to allow MEncoder to read respectively encode from audio
only files.
Usage: aconvert <"input file"> <"output file"> <"options">
If no options are specified the following is assumed:
-oac lavc -lavcopts acodec=mp3:abitrate=192
Note: The script is probably bash dependent and it's just a quick
hack, feel free to improve it (or much better: fix mencoder ;).
qepdvcd.sh
Author: Reynaldo H. Verdejo Pinochet
Description: anything supported to VCD/SVCD PAL/NTSC converter
Usage: qepdvcd.sh file <options>
Run with no arguments to see the list of options.
Note: You will need vcdimager/cdrecord to master/burn the resulting
files.
encode2mpeglight
Author: Giacomo Comes
Description: Convert anything MPlayer can play to VCD/SVCD/DVD mpeg
Usage: encode2mpeglight -o <NAME> -n <NORM> [options] <source>
For help and documentation run:
encode2mpeglight -h
encode2mpeglight -l
encode2mpeglight -doc
Note: This script uses only MEncode/MPlayer. Check the final log
file for informations/warnings about the encoding process.
Tech scripts in the TOOLS dir
-----------------------------
fastmem.sh
Author: Arpi
Description: benchmark/testbed for fastmemcpy stuff
Usage: fastmem.sh
sws-test
Author: Michael Niedermayer
Description: Very simple script to generate PNG images from a video with all
-sws methods.
Usage: sws-test <video-file> <start-pos> <res>
example: sws-test abc.avi 10 160:120
calcbpp.pl
Author: Moritz Bunkus
Description: A script that calculates the $bpp for a movie, mentioned in
DOCS/tech/encoding-tips.txt, see that document for more info.
Usage: calcbpp.pl <resolution> <aspect ratio> <bitrate> <fps>
resolution: the cropped but unscaled resolution
(use '-vf cropdetect')
aspect ratio: the encoded aspect ratio. All DVDs come at
720x576 but contain a flag that tells the player
wether it should display the DVD at an aspect
ratio of 4/3 (1.333) or at 16/9 (1.777). Have a
look at MPlayer's output - there's something
about 'prescaling'. That's what you are looking
for.
bitrate: the video bitrate in kbit/s
fps: the fps
example: calcbpp.pl 720x440 16/9 896 25
countquant.pl
Author: Moritz Bunkus
Description: Counts the quantizers used for the encoding, mentioned in
DOCS/tech/encoding-tips.txt, see that document for more info.
Usage: countquant.pl < divx2pass.log
It will print out which quantizer was used how often. If you see
that e.g. the lowest quantizer (vqmin=2) gets used for > 95% of
the frames then you can safely increase your picture size.
perlbench.pl
Author: Felix Bünemann
Description: fastmemcpy benchmark script
Usage: perlbench.pl
plotpsnr.pl
Author: Jonas Jermann
Description: Draw PSNR log graphs using gnuplot.
Usage: plotpsnr.pl [options] <file>
-h, --help Display this help message
-quant Display quantizers
-size Display size
-psnr Display PSNR
-iframes Display I-frames
-pframes Display P-frames
-bframes Display B-frames
-aframes Display all frames in different colors
-cmp <file2> Compare two files
-qs <style> Quantizer style
-ss <style> Size style
-ps <style> PSNR style
Default: -quant -size -psnr -qs "p" -ss "i" -ps "p"
Note: Requires gnuplot. Comparison is based on file2. Comparison
assumes that the frame numbers of both files fit.
psnr-video.sh
Author: Matthias Wieser
Description: Calculates the PSNR between two existing video files.
The PSNR is calculated frame by frame.
Also prints the overall PSNR.
The script can be used to:
* Compare different softwarescalers (should I use
-sws 1 or -sws 2 ?)
* Compare different resolutions (is it better to scale
down to 640x360 or to 560x320)
* Compare different deinterlacers
* Compare different video codecs
* Compare video filters (is it better to use -vf hqdn3d
or lavcopts:nr=400)
* [...]
Usage: psnr-video.sh <file1> <file2> [<frames>] [<options1>] [<options2>]
<file1> and <file2> are the video files for which the PSNR
should be calculated.
[<frames>] is the number of frames to process, starting
from frame 1.
[<options1>] are additional MPlayer options for <file1>
[<options2>] are additional MPlayer options for <file2>
A file called ./psnr.dat will be created with the following
content:
File;Y;Cb;Cr
00000001.ppm;34.23;39.54;40.06;35.426
00000002.ppm;33.03;38.71;39.26;34.271
00000003.ppm;33.45;38.91;39.28;34.655
00000004.ppm;32.72;38.69;38.85;33.972
[...]
00000247.ppm;35.55;40.84;42.15;36.785
PSNR:;35.9887
Note: This script relies on the the tool "pnmpsnr" for the
frame-by-frame PSNR calculation.
Be aware that psnr-video.sh needs a lot of temporary space
inside /temp/.
asfinfo
Author: Arpi
Description: a simple ASF header display program
Usage: asfinfo <filename.asf>
Note: Also see MPlayer's -identify option.
avi-fix
Author: Arpi
Description: A simple tool to fix chunk sizes in RIFF AVI files.
Usage: avi-fix [-fix] <badfile.avi>
Note: It does not check or fix the index, to do this use
'mencoder -forceidx -oac copy -ovc copy'.
bios2dump
Author: Nick Kurshev
Description: Extract your PC BIOS and save it to file.
Usage: As argument requires DOS interrupt number in hexadecimal form.
As output - will write 64KB file which will named:
SSSS_OOOO.intXX
where: SSSS - segment of BIOS interrupt handler
OOOO - offset of BIOS interrupt handler
XX - interrupt number which was passed as argument
checktree.sh
Author: Ivo van Poorten
Description: Check the source tree for anomalies.
Usage: checktree.sh -help
Note: This script is meant for developers to check the current (CVS)
source tree and/or the patches they are working on.
mphelp_check.py
Author: Uoti Urpala
Description: Check console message translations for common errors.
Usage: mphelp_check.py [--missing] <master file> <files to check>
Note: Compares MPlayer translation files against a master file and
reports conflicting arguments, extra strings not present in
the base file and (optionally) missing strings.
cpuinfo
Author: Jürgen Keil
Description: the prototype ../cpuinfo.c
Note: Used by configure to emulate /proc/cpuinfo on non-Linux systems.
dump_mp4
Author: Arpi
Description: MPEG4-ES stream inspector, dumps the stream startcodes.
fastmemcpybench
Author: Felix Bünemann
Description: benchmark/testbed for fastmemcpy stuff
Note: Also see fastmem.sh.
mem2dump
Author: Nick Kurshev
Description: Dump memory block to file.
Usage: As argument requires absolute address of memory dump and its
length (in hexadecimal form).
As output - will write file which will be named:
memADDR_LEN.dump
where: ADDR - given address of memory
LEN - given length of memory
movinfo
Author: Arpi
Description: Show QuickTime MOV file structure.
Usage: movinfo <filename.mov>
png2raw
Author: Arpi
Description: PNG to RAW image converter, used by .raw font creators.
Usage: png2raw <file1> [file2...]
vivodump
Author: Arpi
Description: Dump H.263 frame headers from VIVO files.
Usage: vivodump <input_file> <output_file>
Miscellaneous scripts in the TOOLS dir
--------------------------------------
subedit.pl
Author: Michael Klepikov
Description: A script for pipelined editing of subtitle files.
Usage: subedit.pl [switches]
-if,--input-format <fmt> input format; supported: SRT (default: SRT)
-of,--output-format <fmt> output format; supported: SRT
(default: input format)
-s,--shift <time> shift all subtitles by <time>
(format: [-]hh:mm:ss,fraction)
-c,--scale <time> scale by adding <time> to overall duration
-f,--split-from <time> drop subtitles that end before <time>
-t,--split-to <time> drop subtitles that start after <time> (will
truncate timing if it overlaps a boundary)
-r,--renumber renumber SRT subtitles in output
-d,--debug enable debug output
-h,--help help message
w32codec_dl.pl
Author: Tom Lees
Description: This script will use the Windows Media Player codec download
infrastructure to aquire the codecs listed in codecs.conf and put
them in a directory named "codecs/" below the current directory.
Usage: w32codec_dl.pl <codecs.conf location>
Note: You will need the libwww-perl stuff and the cabextract utility
which can be found at http://www.kyz.uklinux.net/cabextract.php3.
install-divx5.sh
Author: Andrea Menucci, thuglife
Description: Downloads and installs DivX 5 codecs from divx.com.
Usage: install-divx5.sh install
install-divx5.sh uninstall
install-w32codecs.sh
Author: Andrea Menucci, thuglife
Description: Downloads binary codecs from mplayerhq.hu and installs them
on a Debian system.
Usage: install-w32codecs.sh install
install-w32codecs.sh uninstall
vobshift.py
Author: Gábor Farkas
Description: Adjust the time-info in vobsub files
Usage: vobshift.py in.idx out.idx +8.3
Will shift the time by 8.3 seconds
subrip.c
Author: Kim Minh Kaplan
Description: Transform VOBsub subtitles into Subrip text subtitles using
GOCR/JOCR.
Usage: subrip <vobsub basename> [subid [output filename] ]
Note: Requires at least JOCR/GOCR 0.37.
You will have to change the 'vobsub_id' value if you want a
subtitle different from number 0. Hint: You can view the
subtitle that is being decoded with "display subtitle-*.pgm".
alaw-gen.c
Author: Arpi
Description: Generates alaw/ulaw tables.
Note: Created to work around a past license issue, no longer useful.
avisubdump.c
Author: Tobias Diedrich
Description: Dumps vobsub soft subtitles streams embedded in avi files.
Usage: avisubdump <avi>
Format conversion scripts in the TOOLS dir
------------------------------------------
302m_convert.c
Author: Reimar Döffinger
Description: Converts D-Cinema Audio (SMPTE 302M?) to WAV.
Usage: 302m_convert <in.302> <out.wav>
360m_convert.c
Author: Reimar Döffinger
Description: Converts D-Cinema Video (MPEG-2 in GXF, SMPTE 360M) to MPEG-ES.
Use -demuxer mpeges to play the converted file.
Usage: 360m_convert <in.gxf> <out.m2v>
|