Linux Archive

Linux Archive (http://www.linux-archive.org/)
-   Gentoo User (http://www.linux-archive.org/gentoo-user/)
-   -   Splitting .mov files (http://www.linux-archive.org/gentoo-user/76803-splitting-mov-files.html)

Florian Philipp 04-26-2008 08:06 PM

Splitting .mov files
 
On Sat, 2008-04-26 at 19:56 +0100, Mick wrote:
> On Saturday 26 April 2008, Hal Martin wrote:
> > I assume you want each piece of this file to be play-able? If you don't
> > care about that, just use split to chop them up into your desired size
> > and then use cat to reassemble them at the destination.
> >
> > *$ split –bytes=1m /path/to/large/file /path/to/output/file/prefix*
> >
> > 'man split' will also contain this information.
>
> Thanks! I didn't know about split.
>
> I am afraid that the split files have to be playable. I intend to upload them
> on a server for a MSWindows user to download and play. It has to be point &
> click skill level at the receiving end.

Hmm, theoretically it should be possible without re-encoding because
video files contain I-frames which are encoded without reference to
previous frames every x frames. With a media player you can only seek
through a video from I-frame to I-frame (I think ...).

If that assumption is right, it should be a relatively easy task.
Something like this might work:

mencoder -vf harddup -ovc copy -oac copy -of lavf -lavfopts format=mov
-ss 1:30 -endpos 3:00 -o output.mov input.mov

explanation:
-vf harddup -> don't skip duplicate frames
-ovc copy; -oac copy -> don't re-encode audio and video
-of lavf -> use lavf for muxing
-lavfopts format=mov -> mux into mov-format
-ss 1:30 -> skip the first 1 min + 30 sec
-endpos 3:00 -> end input at position 3:00 min of the original film
-o output.mov -> write to output.mov

This command should result in a file containing a total of
3:00-1:30=1:30 min of film, however, seeking might be inaccurate
(searches next or previous I-frame) so both videos might overlap for
maybe a second or two or you could loose that amount time therefor
tweaking might be necessary.

Unfortunately, I couldn't test this because I have no suitable video
file at hand. If it works, tell me please, if not, post your results,
maybe I can look further into it.

luis jure 04-26-2008 09:43 PM

Splitting .mov files
 
El Sat, 26 Apr 2008 22:06:52 +0200
Florian Philipp <lists@f_philipp.fastmail.net> escribió:

>
> mencoder -vf harddup -ovc copy -oac copy -of lavf -lavfopts format=mov
> -ss 1:30 -endpos 3:00 -o output.mov input.mov
>
> explanation:
[...]
> -ss 1:30 -> skip the first 1 min + 30 sec
> -endpos 3:00 -> end input at position 3:00 min of the original film
> -o output.mov -> write to output.mov
>
> This command should result in a file containing a total of
> 3:00-1:30=1:30 min of film [...]

i think this is not entirely correct. according to the manual,
"When used in conjunction with −ss option, −endpos time will shift
forward by seconds specified with −ss."

that means that if you want 90 seconds of film, you must use -endpos 90
or -endpos 1:30, independently from the time given in -ss. see the
example from the man page:

EXAMPLE:
−endpos 56
Stop at 56 seconds.
−endpos 01:10:00
Stop at 1 hour 10 minutes.
−ss 10 −endpos 56
Stop at 1 minute 6 seconds.
^^^^^^^^^^^^^^^^^^^^^^^^^^

best,

lj
--
gentoo-user@lists.gentoo.org mailing list

Florian Philipp 04-26-2008 10:32 PM

Splitting .mov files
 
On Sat, 2008-04-26 at 18:43 -0300, luis jure wrote:
> El Sat, 26 Apr 2008 22:06:52 +0200
> Florian Philipp <lists@f_philipp.fastmail.net> escribió:
>
> >
> > mencoder -vf harddup -ovc copy -oac copy -of lavf -lavfopts format=mov
> > -ss 1:30 -endpos 3:00 -o output.mov input.mov
> >
> > explanation:
> [...]
> > -ss 1:30 -> skip the first 1 min + 30 sec
> > -endpos 3:00 -> end input at position 3:00 min of the original film
> > -o output.mov -> write to output.mov
> >
> > This command should result in a file containing a total of
> > 3:00-1:30=1:30 min of film [...]
>
> i think this is not entirely correct. according to the manual,
> "When used in conjunction with −ss option, −endpos time will shift
> forward by seconds specified with −ss."
>
> that means that if you want 90 seconds of film, you must use -endpos 90
> or -endpos 1:30, independently from the time given in -ss. see the
> example from the man page:
>
> EXAMPLE:
> −endpos 56
> Stop at 56 seconds.
> −endpos 01:10:00
> Stop at 1 hour 10 minutes.
> −ss 10 −endpos 56
> Stop at 1 minute 6 seconds.
> ^^^^^^^^^^^^^^^^^^^^^^^^^^
>
> best,
>
> lj

Thanks for the hint. Unfortunately, my method doesn't work anyway (I've
found a file on which I could test it).The video gets some really ugly
artifacts and seems to be damaged. Of course, your millage might vary if
you use another encoding than me.


All times are GMT. The time now is 09:36 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.