m2v mp2 cut
Current release: 0.76
Changes since 0.74:
- Fixed seeking to offset zero (-sb 0) in m2vtoyuv command.
Changes since 0.72:
- Fixed largefile support in fileparts command.
- Added getyuv.pl and getmp2.sh -- and related commands to m2vmp2cut;
these outputs selected video and audio parts from the source.
- Added "contrib" interface.
- Added first "contrib" script, mpeg2 re-encoding.
- Tuned file/directory argument position on m2vmp2cut command (again).
Changes since 0.68:
- buildlibmpeg-051.sh accepts libmpeg-0.5.1.tar.gz with absolute path.
- Minor doc tunes.
Changes since 0.67-dev:
- Binaries wavgraph and warpxpointer are now installed.
- Audio sync fixed in cutpoint test functionality.
- ProjectX is linked for use during 'make install'.
Changes since 0.65-dev:
- Audio visualizer around current position in m2vcut-gui, to find (silent) spot for cutpoint.
- Test speedups, now audio is pre-scanned too.
- Some usage tunes, fixes and enchangements.
- Bug fixes in almost every area.
Changes since 0.63-dev:
- Target size estimation
- Keyboard control adjustments in gui
- Bug fixes
Changes since 0.62:
- Added graphical gui client for cutpoint selection.
- Added m2vtoyuv for frame decoding -- in place of transcode(1)
- Now gops are closed just after encoded frames.
- Added (cli) frontend to do run demuxer, cutter and m2vmp2cut.pl
- Lots of other tunes
Changes since 0.58:
- Makefile tail commands fixed to have -n before +<num>
Changes since 0.56:
- Timecodes in GOP's "fixed".
- Audio scanning implemented in C for speed...
- ... and if audio bit/samplerates change in output that will be an
error.
- Source video format and intra_dc_precision value are used in video
encoder (Still some settings that cannot be defined in
encoder left, though).
- Some (a little less significant) improvements
Changes since 0.54:
- New option: --aonly (cut audio only (video to be re-encoded or so)).
- New option: --evbr (other way to prepare video for re-encoding...).
- Added "encoded frame count" checks.
- Uses lvemedia.lst in addition to lveedit.lst for finding cutpoints
(to go around (IMHO) lve bug when dragging frame 0).
- Examples tuning/fixing.
- Added some lve patches to ./misc
- Internal workings changes.
- Bug fixes.
Changes since 0.42:
- --sync option bugfix: negative numbers were taken as positive.
- --test option bugfix: was no-op in 0.42
- New options, --last, --requant, -. And --options, --examples.
- More embedded documentation.
- Internal workings changes.
Last committed: $Id: README 2068 2008-05-11 17:04:13Z too $
README for m2vmp2cut 0.63:
m2vmp2cut is frame accurate (currently PAL) mpeg2 video (m2v file)
with accompanied mp2 audio (mp2 file) cutter.
Frame accuracy is achieved by re-encoding video around cutpoints.
Audio is cut from separate mp2 file at positions that keep a/v sync
as good as possible (maximum sync difference is around 10-15 milliseconds).
This program is licensed under the GPL v2. See file COPYING for details.
Usually before using this software mpeg file needs to be demuxed first
to separate mpeg video and mp2 audio files -- we come to that below.
REQUIREMENTS:
mjpegtools -- for mpeg2enc and mplex tools
ProjecX (project-x.sourceforge.net) -- to demux source mpeg files
Java runtime -- to run ProjectX
perl -- m2vmp2cut.pl (run frontend) is written in perl
python -- some m2vmp2cut utilities are written in python
bash/ksh -- /bin/sh may not be good enough for some shell script
constructs used.
C compiler -- there are some C utilities that needs to be compiled.
Java Compiler -- if you need to compile ProjectX
STRONGLY RECOMMENDED:
transcode -- for requantize option
(Other than ProjecX) Demux Tools (: (not used here (anymore))
mpgtx
replex
tcextract
mplayer (dumpaudio/dumpvideo?)
USAGE:
Run 'm2vmp2cut help' to get more usage information.
WHY LIKE THIS:
Cutting demuxed files instead of mpeg2 file that has both audio and video
is done since:
1) Handling demuxed video file is easier; no messing with PTS, DTS and SCR
and so on (I saved development time).
2) I can't compete with such a good tool as ProjectX to get stuff out
of mpeg2 files.
3) Cutting separate audio and video files yields much better results cutting
audio and video on right places (near-perfect A/V sync if original has
so), for example using 48KHz 224 kbit mp2 files one 672 byte audio frame
contains 24ms of audio -- so A/V sync is at max 12ms off. If doing
'hard-cuts' in (multiplexed) mpeg2 files 1) audio packets contains like
2.6 audio frames and 2) audio packets might be far off in the file
the video packets with time close to each other...
Tools that helped to find out required information (Thanks to the authors!):
gopchop mpegcat tool
bbtool17-2-linux
dvb-mpegtools analyze
google searches: `mpeghdrs.html' (video) and `mpeghdr.htm' (audio)
google search: `python_mpeg'