sub part of a movie

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

sub part of a movie

Julien Isorce
Hi,

I would like to extract a sub part of a movie which is in an avi file.
I can only extract a sub part from the beginnning with the following pipeline :
(assume movie.avi is at 25 fps for 1 min)
gst-launch filesrc location=movie.avi num_buffers=100 ! avidemux ! avimux ! filesink location=submovie.avi
It extracts 4 sec from the beginning.

Is there a way to extract 4 secs in the middle of the movie ? (I mean not from the beginnig, so start after N buffers, as I do to end after num_buffers) ?

Thx

Sincerely

Julien

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: sub part of a movie

Florent THIERY-2
Hi Julien;

Did you take a look at gentrans ?

C.f. "Example 2.5. Pass-through transcoding" in http://gentrans.sourceforge.net/docs/head/manual/html/entrans.html

Florent

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: sub part of a movie

Julien Isorce
Hi Florent,

Sounds good but when I tried this :

(movie.avi is about 1 min)

entrans.py -s seek-key -c 25-50 -- --raw filesrc location=movie.avi ! avidemux ! avimux ! filesink location=submovie.avi

I got:

0:00:00.057245653 23852  0x8270cc8 ERROR               python entrans.py:2354:excepthook:
  File "entrans.py", line 1825, in cb_started
    walk = self.walk_pipeline(self.nonlin.pipeline)
  File "entrans.py", line 1780, in walk_pipeline
    clone_element(element).get_property(pspec.name)):

SystemError: error return without exception set

<<<< Now reached PLAYING state >>>>
0:00:00.060644767 23852  0x8270cc8 ERROR               python entrans.py:2354:excepthook:
  File "entrans.py", line 1902, in cb_playing
    walk = self.walk_pipeline(self.nonlin.pipeline)
  File "entrans.py", line 1780, in walk_pipeline
    clone_element(element).get_property(pspec.name)):

SystemError: error return without exception set


I am sure I am doing something wrong.
I compiled gentrans myself so maybe I have not all the dependencies.

Any help ?

(why dam this : Cannot set property on dam0 before streaming has started ?)

thx

Julien


2008/9/11 Florent <[hidden email]>
Hi Julien;

Did you take a look at gentrans ?

C.f. "Example 2.5. Pass-through transcoding" in http://gentrans.sourceforge.net/docs/head/manual/html/entrans.html

Florent

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel



-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: sub part of a movie

Mark Nauwelaerts-2

The exception is most likely an effect of bug
http://bugzilla.gnome.org/show_bug.cgi?id=540221, the fix for which may not be
present in your gst-python (or otherwise another bug very much like it :) )

It can be worked around (IIRC) by adding the option --ignore-prop '.*sink.*'
(so it does not access the sink's property leading to the crash).

I also have some doubts about the chances for success of the pipeline
(e.g. no dam in it, entrans uses this element to direct the seek to ...)
Using a more "conventional" pipeline as exampled in the link mentioned below may
be advisable.

Mark.

Julien Isorce wrote:

> Hi Florent,
>
> Sounds good but when I tried this :
>
> (movie.avi is about 1 min)
>
> entrans.py -s seek-key -c 25-50 -- --raw filesrc location=movie.avi !
> avidemux ! avimux ! filesink location=submovie.avi
>
> I got:
>
> 0:00:00.057245653 23852  0x8270cc8 ERROR               python
> entrans.py:2354:excepthook:
>   File "entrans.py", line 1825, in cb_started
>     walk = self.walk_pipeline(self.nonlin.pipeline)
>   File "entrans.py", line 1780, in walk_pipeline
>     clone_element(element).get_property(pspec.name <http://pspec.name>)):
>
> SystemError: error return without exception set
>
> <<<< Now reached PLAYING state >>>>
> 0:00:00.060644767 23852  0x8270cc8 ERROR               python
> entrans.py:2354:excepthook:
>   File "entrans.py", line 1902, in cb_playing
>     walk = self.walk_pipeline(self.nonlin.pipeline)
>   File "entrans.py", line 1780, in walk_pipeline
>     clone_element(element).get_property(pspec.name <http://pspec.name>)):
>
> SystemError: error return without exception set
>
>
> I am sure I am doing something wrong.
> I compiled gentrans myself so maybe I have not all the dependencies.
>
> Any help ?
>
> (why dam this : Cannot set property on dam0 before streaming has started ?)
>
> thx
>
> Julien
>
>
> 2008/9/11 Florent <[hidden email] <mailto:[hidden email]>>
>
>     Hi Julien;
>
>     Did you take a look at gentrans ?
>
>     C.f. "Example 2.5. Pass-through transcoding" in
>     http://gentrans.sourceforge.net/docs/head/manual/html/entrans.html
>
>     Florent
>
>     -------------------------------------------------------------------------
>     This SF.Net email is sponsored by the Moblin Your Move Developer's
>     challenge
>     Build the coolest Linux based applications with Moblin SDK & win
>     great prizes
>     Grand prize is a trip for two to an Open Source event anywhere in
>     the world
>     http://moblin-contest.org/redirect.php?banner_id=100&url=/
>     <http://moblin-contest.org/redirect.php?banner_id=100&url=/>
>     _______________________________________________
>     gstreamer-devel mailing list
>     [hidden email]
>     <mailto:[hidden email]>
>     https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
>
>
> ------------------------------------------------------------------------
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
> Build the coolest Linux based applications with Moblin SDK & win great prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: sub part of a movie

Julien Isorce
Hi Mark,

Thanks to GEtrans I can now easily extract a sub part of a movie so that 's cool for my needs.

** This cammand works fine to cut a sub part of 15 sec of a movie. :P

entrans.py --ignore-prop '.*sink*.' -s seek-key -c 25-40 --dam -- --raw filesrc location=movie.avi ! avidemux name=demux avimux name=mux ! filesink location=sub.avi demux.video_00 ! queue ! dam ! queue ! mux.video_0 demux.audio_00 ! queue ! dam ! queue ! mux.audio_00

** The following seems to work but I cannot play the result sub2.avi:

entrans.py --ignore-prop '.*sink.*' -s seek-key -c 25-40 --dam -- --raw filesrc location=movie.avi ! avidemux ! queue ! dam ! queue ! avimux ! filesink location=sub2.avi

** And the following causes a seg fault:

entrans.py --ignore-prop '.*sink.*' -s seek-key -c 25-40 --dam -- --raw filesrc location=movie.avi ! avidemux ! dam ! avimux ! filesink location=sub3.avi

I am sure I am not using correctly entrans in the 2 last pipelines :P

(Also it was cool to see an element "detectinter" ...)

Sincerely

J.I.


2008/9/11 Mark Nauwelaerts <[hidden email]>

The exception is most likely an effect of bug
http://bugzilla.gnome.org/show_bug.cgi?id=540221, the fix for which may not be
present in your gst-python (or otherwise another bug very much like it :) )

It can be worked around (IIRC) by adding the option --ignore-prop '.*sink.*'
(so it does not access the sink's property leading to the crash).

I also have some doubts about the chances for success of the pipeline
(e.g. no dam in it, entrans uses this element to direct the seek to ...)
Using a more "conventional" pipeline as exampled in the link mentioned below may
be advisable.

Mark.

Julien Isorce wrote:
> Hi Florent,
>
> Sounds good but when I tried this :
>
> (movie.avi is about 1 min)
>
> entrans.py -s seek-key -c 25-50 -- --raw filesrc location=movie.avi !
> avidemux ! avimux ! filesink location=submovie.avi
>
> I got:
>
> 0:00:00.057245653 23852  0x8270cc8 ERROR               python
> entrans.py:2354:excepthook:
>   File "entrans.py", line 1825, in cb_started
>     walk = self.walk_pipeline(self.nonlin.pipeline)
>   File "entrans.py", line 1780, in walk_pipeline
>     clone_element(element).get_property(pspec.name <http://pspec.name>)):
>
> SystemError: error return without exception set
>
> <<<< Now reached PLAYING state >>>>
> 0:00:00.060644767 23852  0x8270cc8 ERROR               python
> entrans.py:2354:excepthook:
>   File "entrans.py", line 1902, in cb_playing
>     walk = self.walk_pipeline(self.nonlin.pipeline)
>   File "entrans.py", line 1780, in walk_pipeline
>     clone_element(element).get_property(pspec.name <http://pspec.name>)):
>
> SystemError: error return without exception set
>
>
> I am sure I am doing something wrong.
> I compiled gentrans myself so maybe I have not all the dependencies.
>
> Any help ?
>
> (why dam this : Cannot set property on dam0 before streaming has started ?)
>
> thx
>
> Julien
>
>
> 2008/9/11 Florent <[hidden email] <mailto:[hidden email]>>
>
>     Hi Julien;
>
>     Did you take a look at gentrans ?
>
>     C.f. "Example 2.5. Pass-through transcoding" in
>     http://gentrans.sourceforge.net/docs/head/manual/html/entrans.html
>
>     Florent
>
>     -------------------------------------------------------------------------
>     This SF.Net email is sponsored by the Moblin Your Move Developer's
>     challenge
>     Build the coolest Linux based applications with Moblin SDK & win
>     great prizes
>     Grand prize is a trip for two to an Open Source event anywhere in
>     the world
>     http://moblin-contest.org/redirect.php?banner_id=100&url=/
>     <http://moblin-contest.org/redirect.php?banner_id=100&url=/>
>     _______________________________________________
>     gstreamer-devel mailing list
>     [hidden email]
>     <mailto:[hidden email]>
> ------------------------------------------------------------------------
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
> Build the coolest Linux based applications with Moblin SDK & win great prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel