Dv grabber pipeline

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

Dv grabber pipeline

Andoni Morales
Hi!

Does any one know about a good pipeline for DV grabbing?

I'm trying with this one and I'm getting good results but the video
stream is not as fluid as I would like to, some times it gets faster:

dv1394src ! dvdemux ! ffdec_dvvideo ! queue ! ffdeinterlace !
ffmpegcolorspace ! queue ! ffenc_mpeg4 bitrate=4000000  ! queue ! avimux
name="mux" ! filesink location=output.avi

Thank you!


-------------------------------------------------------------------------
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: Dv grabber pipeline

Edward Hervey
Administrator
Hi,

   Move the first queue of your pipeline to 'just-after' the demuxer.

   dv1394src ! dvdemux ! queue ! ffdec_dvvideo ....

   This will create a thread dedicate to only doing capture and
demuxing, and the decoding/deinterlacing/colorspace-conversion will
happen in another thread.

     Edward

On Tue, 2008-08-05 at 22:46 +0200, Andoni Morales Alastruey wrote:

> Hi!
>
> Does any one know about a good pipeline for DV grabbing?
>
> I'm trying with this one and I'm getting good results but the video
> stream is not as fluid as I would like to, some times it gets faster:
>
> dv1394src ! dvdemux ! ffdec_dvvideo ! queue ! ffdeinterlace !
> ffmpegcolorspace ! queue ! ffenc_mpeg4 bitrate=4000000  ! queue ! avimux
> name="mux" ! filesink location=output.avi
>
> Thank you!
>
>
> -------------------------------------------------------------------------
> 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: Dv grabber pipeline

Andoni Morales
Hello!

I tried with this  and I get the same results. The quality is good, but
It's not perfect.

The bigger problem is that the output file isn't seekable. When I use
the matroska muxer the output video file is not seekable at all (I use
totem with the gstreamer backend and it shows the video file as a
stream), and when I use the avi muxer the file is seekable but it's like
if there was no keyframes and when I try to seek the frames are mixed
and the image goes backward and fordward.Using ffplay I get:
[mpeg4 @ 0xb7e276e8]warning: first frame is no keyframe
[mpeg4 @ 0xb7e276e8]warning: first frame is no keyframe

Is it because I don't close the pipeline correctly (using CTRL+C)?




El lun, 11-08-2008 a las 13:14 +0200, Edward Hervey escribió:

> Hi,
>
>    Move the first queue of your pipeline to 'just-after' the demuxer.
>
>    dv1394src ! dvdemux ! queue ! ffdec_dvvideo ....
>
>    This will create a thread dedicate to only doing capture and
> demuxing, and the decoding/deinterlacing/colorspace-conversion will
> happen in another thread.
>
>      Edward
>
> On Tue, 2008-08-05 at 22:46 +0200, Andoni Morales Alastruey wrote:
> > Hi!
> >
> > Does any one know about a good pipeline for DV grabbing?
> >
> > I'm trying with this one and I'm getting good results but the video
> > stream is not as fluid as I would like to, some times it gets faster:
> >
> > dv1394src ! dvdemux ! ffdec_dvvideo ! queue ! ffdeinterlace !
> > ffmpegcolorspace ! queue ! ffenc_mpeg4 bitrate=4000000  ! queue ! avimux
> > name="mux" ! filesink location=output.avi
> >
> > Thank you!
> >
> >
> > -------------------------------------------------------------------------
> > 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: Dv grabber pipeline

Edward Hervey
Administrator
Hi,

  The reason why the output isn't seekable is because the transcoding
pipeline wasn't terminated properly. The source (dv1394src) needs to
emit an EOS event so that the muxer can properly 'close' the file.

  I don't think there is any way to make the source properly emit EOS
with gst-launch-0.10 unfortunately. You can write a simple python script
using that pipeline and when you want to stop the recording, send an EOS
event to the source element (dvsrc.send_event(gst.event_new_eos())).

   Edward

On Tue, 2008-08-12 at 17:14 +0200, Andoni Morales Alastruey wrote:

> Hello!
>
> I tried with this  and I get the same results. The quality is good, but
> It's not perfect.
>
> The bigger problem is that the output file isn't seekable. When I use
> the matroska muxer the output video file is not seekable at all (I use
> totem with the gstreamer backend and it shows the video file as a
> stream), and when I use the avi muxer the file is seekable but it's like
> if there was no keyframes and when I try to seek the frames are mixed
> and the image goes backward and fordward.Using ffplay I get:
> [mpeg4 @ 0xb7e276e8]warning: first frame is no keyframe
> [mpeg4 @ 0xb7e276e8]warning: first frame is no keyframe
>
> Is it because I don't close the pipeline correctly (using CTRL+C)?
>
>
>
>
> El lun, 11-08-2008 a las 13:14 +0200, Edward Hervey escribió:
> > Hi,
> >
> >    Move the first queue of your pipeline to 'just-after' the demuxer.
> >
> >    dv1394src ! dvdemux ! queue ! ffdec_dvvideo ....
> >
> >    This will create a thread dedicate to only doing capture and
> > demuxing, and the decoding/deinterlacing/colorspace-conversion will
> > happen in another thread.
> >
> >      Edward
> >
> > On Tue, 2008-08-05 at 22:46 +0200, Andoni Morales Alastruey wrote:
> > > Hi!
> > >
> > > Does any one know about a good pipeline for DV grabbing?
> > >
> > > I'm trying with this one and I'm getting good results but the video
> > > stream is not as fluid as I would like to, some times it gets faster:
> > >
> > > dv1394src ! dvdemux ! ffdec_dvvideo ! queue ! ffdeinterlace !
> > > ffmpegcolorspace ! queue ! ffenc_mpeg4 bitrate=4000000  ! queue ! avimux
> > > name="mux" ! filesink location=output.avi
> > >
> > > Thank you!
> > >
> > >
> > > -------------------------------------------------------------------------
> > > 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: Dv grabber pipeline

Tim-Philipp Müller-2
On Wed, 2008-08-13 at 10:06 +0200, Edward Hervey wrote:

>   I don't think there is any way to make the source properly emit EOS
> with gst-launch-0.10 unfortunately.

It will EOS properly if you use the num-buffers property on the source
(whether that's particularly useful in this case I don't know though):

  gst-launch-0.10 whateversrc num-buffers=1000 ! ...

Cheers
 -Tim



-------------------------------------------------------------------------
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