Hi to all.
I'm trying to write a stop-motion creation app, in the vein of http://developer.skolelinux.no/info/studentgrupper/2005-hig-stopmotion/index.php but using python, gtk, and well, gstreamer. It's my first using all three technologies, tough :p What i'm stump on is on how step frame by frame forward and backwards in a video loaded trough multifilesrc. I was trying to seek using gst.FORMAT_BUFFERS as to move one frame at a time, but it doesn't work. When i attempt a query_position on the pipeline, i get a "query failed". My pipeline is multifilesrc ! jpegdec ! cspvideo !videosink. (multifilesrc has a "image/jpeg,framerate=15/1" cap for correct playing) I've tried a queue right after multifilesrc, but no difference. Is there something i have to do for a stream be seekable? Also, the idea is being able to keep adding image frames without having to reprocess everything each time... Any pointer? Jorge ------------------------------------------------------------------------- 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 |
Jorge schrieb:
> Hi to all. > > I'm trying to write a stop-motion creation app, in the vein of > http://developer.skolelinux.no/info/studentgrupper/2005-hig-stopmotion/index.php > but using python, gtk, and well, gstreamer. It's my first using all > three technologies, tough :p > What i'm stump on is on how step frame by frame forward and backwards in > a video loaded trough multifilesrc. I was trying to seek using > gst.FORMAT_BUFFERS as to move one frame at a time, but it doesn't work. > When i attempt a query_position on the pipeline, i get a "query failed". > Stefan | > My pipeline is > > multifilesrc ! jpegdec ! cspvideo !videosink. > > (multifilesrc has a "image/jpeg,framerate=15/1" cap for correct playing) > > I've tried a queue right after multifilesrc, but no difference. Is there > something i have to do for a stream be seekable? Also, the idea is being > able to keep adding image frames without having to reprocess everything > each time... > > Any pointer? > > Jorge > > > > ------------------------------------------------------------------------- > 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 |
Hi.
Trying GST_FORMAT_DEFAULT i get the same behaviour When querying position (hope it's ok posting python code): pos = self.player.pipeline.query_position(gst.FORMAT_DEFAULT, None)[0] gst.QueryError: query failed When seeking: no errors, but nothing happens. I can play and pause. Something i've found is that when you pause the pipeline the multifilesrc's "index" property is valued as the current frame. If i change its value and resume it starts playing from the new value. I guess i could manipulate this value to advance frame by frame, but then i should have to feed a single frame by playing and pausing inmediately... It would be much uglier that proper seek. Jorge On Wed, 2008-09-24 at 14:52 +0300, Stefan Kost wrote: > Jorge schrieb: > > Hi to all. > > > > I'm trying to write a stop-motion creation app, in the vein of > > http://developer.skolelinux.no/info/studentgrupper/2005-hig-stopmotion/index.php > > but using python, gtk, and well, gstreamer. It's my first using all > > three technologies, tough :p > > What i'm stump on is on how step frame by frame forward and backwards in > > a video loaded trough multifilesrc. I was trying to seek using > > gst.FORMAT_BUFFERS as to move one frame at a time, but it doesn't work. > > When i attempt a query_position on the pipeline, i get a "query failed". > > > Can you try |GST_FORMAT_DEFAULT? ------------------------------------------------------------------------- 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 |
Jorge schrieb:
> Hi. > > Trying GST_FORMAT_DEFAULT i get the same behaviour > When querying position (hope it's ok posting python code): > pos = self.player.pipeline.query_position(gst.FORMAT_DEFAULT, None)[0] > gst.QueryError: query failed > > When seeking: no errors, but nothing happens. > > I can play and pause. Something i've found is that when you pause the > pipeline the multifilesrc's "index" property is valued as the current > frame. If i change its value and resume it starts playing from the new > value. I guess i could manipulate this value to advance frame by frame, > but then i should have to feed a single frame by playing and pausing > inmediately... It would be much uglier that proper seek. > > Jorge > multifilesrc. Stefan > > > On Wed, 2008-09-24 at 14:52 +0300, Stefan Kost wrote: > >> Jorge schrieb: >> >>> Hi to all. >>> >>> I'm trying to write a stop-motion creation app, in the vein of >>> http://developer.skolelinux.no/info/studentgrupper/2005-hig-stopmotion/index.php >>> but using python, gtk, and well, gstreamer. It's my first using all >>> three technologies, tough :p >>> What i'm stump on is on how step frame by frame forward and backwards in >>> a video loaded trough multifilesrc. I was trying to seek using >>> gst.FORMAT_BUFFERS as to move one frame at a time, but it doesn't work. >>> When i attempt a query_position on the pipeline, i get a "query failed". >>> >>> >> Can you try |GST_FORMAT_DEFAULT? >> > > > > ------------------------------------------------------------------------- > 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 |
Hi,
i'm having the same problem here. I'm unable to seek all the time via multifilesrc but i can query correctly the position when the pipeline is playing and there is no file change in place. I tried both QGSt::FormatDefault and QGst::FormatTime, the sendEvent function return always false. QGst::SeekEventPtr evt = QGst::SeekEvent::create( 1.0, QGst::FormatDefault, QGst::SeekFlagFlush, QGst::SeekTypeSet, QGst::ClockTime::fromTime(QTime::fromMSecsSinceStartOfDay(QDateTime::fromTime_t(delay))), QGst::SeekTypeNone, QGst::ClockTime::None ); Q_ASSERT(pipeline->sendEvent(evt)); The pipeline works well but cannot seek Please Help! |
Hi community,
seems that the problem is confirmed: 0:00:12.061266773 [335m10024[00m 0x122e800 [37mDEBUG [00m [00m basesrc gstbasesrc.c:2031:gst_base_src_default_event:<mysource>[00m is not seekable So how can i know if a source element is seekable? |
Free forum by Nabble | Edit this page |