[MPlayer-users] mencoder: question N2

Илья Шипицин ilia at chel.skbkontur.ru
Fri Jan 10 04:32:04 CET 2003


Ok, thank You very much, I'll definetely try something like that!
(I've no python installed, I waas just looking for proper command line
options. There too much options in man page that I was lost in them)

... I heard that commercial contains some special information in it. That
information "is not easily seen by eyes", but is for automatic detection
of commercial. I even heard of some Video Cassette Recorders which can
understand that information. So, have anybody heard of it ? maybe it's
even possible to cut commercial in automatic mode ?

> [Automatic answer: RTFM (read DOCS, FAQ), also read DOCS/bugreports.html]
> On Thursday 09 January 2003 21:18, you wrote:
> > [Automatic answer: RTFM (read DOCS, FAQ), also read DOCS/bugreports.html]
> > Dear Sirs,
> >
> > how can I combine two files into one using mencoder ?
> > (I want to cut the commercial, so, I first split file into parts and then
> > I will combine all the parts together without any commercial)
> >
>
> It is possible. Someone posted a python script which is nice
> It uses files where the video you want is specified in seconds each line
> after the first two (which are source and destination files)
>
> example (from -rencoded):
>
> episode09-rencoded.avi
> episode09-edited.avi
> 0 379.4
> 593.0 1291.6
> 1515.0 1850.0
> 2083.3 2442.7
> 2662.3 3047.6
> 3201.1 3614.3
>
> original message, dated: Fri, 20 Dec 2002 01:03:13 +0000
>
>
>
> > I'm perfectly happilly using mencoder to encode some stuff from my
> > 'ol bt848 card but wondering what Linux tools you all use for simple
> > cut & paste'ing afterwards?
>
> I wrote a python script which uses mencoder for simple editing. You
> create an editlist by hand by playing the source avi with mplayer and
> noting the start and end times of each section you want to keep from
> the terminal output of mplayer. An editlist looks like this:
>
> infile.avi
> outfile.avi
> 0.0 33.2
> 45.9 73.6
>
> Here's the script:
> ----<cut here>----
> #!/usr/bin/python
> #
> # A simple video editor using mencoder
>
> import sys, os, string, fnmatch
>
> start = 0
> end = 1
>
> def read_edlist(edlist_file):
>         edlist = []
>
>         data = open(edlist_file, 'r').read().splitlines()
>         i = 0
>         for line in data:
>                 if i == 0:
>                         infile = line
>                 elif i == 1:
>                         outfile = line
>                 else:
>                         beginning, offset = line.split()
>                         edit = (beginning,
> repr(float(offset)-float(beginning)))
>                         edlist.append(edit)
>                 i += 1
>
>         return infile, outfile, edlist
>
> def edit(infile, edlist):
>         i = 0
>         for edit in edlist:
>                 tmpfile = infile[:infile.rfind(".")] + string.zfill(i, 3) +
> '.tmp'
>                 args =
> ('mencoder','-oac','copy','-ovc','copy','-ss',edit[start],'-endpos',edit[end],'-o',tmpfile,infile)
>                 os.spawnvp(os.P_WAIT, 'mencoder', args)
>                 i += 1
>
>
> def finalize(infile, outfile):
>         tmpfile = outfile[:outfile.rfind(".")] + '.tmp'
>
>         for file in os.listdir(os.getcwd()):
>                 if fnmatch.fnmatch(file, infile[:infile.rfind(".")] +
> '*.tmp'):
>                         os.popen('cat ' + file + '>>' + tmpfile)
>                         os.popen('rm ' + file)
>
>         args = ('mencoder', '-oac', 'copy', '-ovc', 'copy', '-o', outfile,
> '-forceidx', tmpfile)
>         os.spawnvp(os.P_WAIT, 'mencoder', args)
>         os.popen('rm ' + tmpfile)
>
> if __name__ == '__main__':
>         if len(sys.argv) != 2:
>                 print "Usage: medit edlist"
>                 print "where edlist is a text file containing the input
> filename on the first line,"
>                 print "the output filename on the second line and each
> subsequent line has a start"
>                 print "offset and an end offset into the input file separated
> by a space."
>                 print "The offsets should be in seconds."
>         else:
>                 infile, outfile, edlist = read_edlist(sys.argv[1])
>                 edit(infile, edlist)
>                 finalize(infile, outfile)
> -----<cut here>----
>
> Watch out for wrapped lines and remember that in Python the
> indentation of lines is significant.
>
> Martin
>
>
>
> > Regards, (Наилучшие пожелания)
> > Ilia Chipitsine (Илья Шипицин)
> >
> >
> > _______________________________________________
> > RTFM!!!  http://www.MPlayerHQ.hu/DOCS
> > Search:  http://www.MPlayerHQ.hu/cgi-bin/htsearch
> > http://mplayerhq.hu/mailman/listinfo/mplayer-users
>
> _______________________________________________
> RTFM!!!  http://www.MPlayerHQ.hu/DOCS
> Search:  http://www.MPlayerHQ.hu/cgi-bin/htsearch
> http://mplayerhq.hu/mailman/listinfo/mplayer-users
>




More information about the MPlayer-users mailing list