Hi,
I'm currently writing an application to stream video from a camera across a network under Windows. I have managed to do this successfully using various USB cameras, but when I try to do this with using two different firewire cameras I get the following error: WARNING: erroneous pipeline: could not link dshowvideosrc0 to ffmpegcsp0 I'm using gst-launch to do this: gst-launch -v dshowvideosrc ! ffmpegcolorspace ! directdrawsink I'm using the GStreamer WinBuilds version 0.10.3, containing version 0.10.7 of the dshowsrcwrapper plugin and version 0.10.22 of ffmpegcolorspace. Unfortunately there is no other output on the command line, so I'm a little stumped. When I disconnect the camera from the computer this error disappears and I get an error saying that the pipeline doesn't want to pause and the pipeline is set to NULL (as expected). Does anyone have any ideas? Thanks, Phil ------------------------------------------------------------------------------ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
2009/6/25 Phil Rendell <[hidden email]> Hi, Hi, Could you describe (or take a screenshot) the properties you can see using "graphedit" ? (you can find graphedit on the web) I mean, instanciate the dshow filter that is associated to your firewire camera. It should be in the video device capture category. Then right click on the output pin and finally tell us which formats are available. Then we would be able to tell you if the current dshowsrcwrapper implementation supports those formats. Sincerely Julien ------------------------------------------------------------------------------ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Hi Julien,
Thanks for the quick reply. There is only one filter under the Video Capture Sources group: the Microsoft DV Camera and VCR. There are two output pins: DV A/V Out and DV Vid Out. All of the properties in DV A/V Out are disabled and are either empty or set to 'None', with the exception of the color space/compression (which is probably the one we're interested in) which is set to dvsd. The properties for DV Vid Out are the same as above, but without the color space/compression set. If it would help I could piece together a screenshot of the contents of the filter from the 'Insert Filters' dialog, although it doesn't look like it will provide much more information. Thanks again, Phil 2009/6/25 Julien Isorce <[hidden email]>
------------------------------------------------------------------------------ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
2009/6/25 Phil Rendell <[hidden email]>
Then I think gst-launch-0.10 dshowvideosrc ! fakesink can play (I should ask you first) because dvsd is ok with the current implementation. But in this case I can see from the implementation that dshowvideosrc outputs video/x-dv You should see it using -v option. Anyway, ffmpegcolorspace doest not handle video/x-dv, that's why you got "WARNING: erroneous pipeline: could not link dshowvideosrc0 to ffmpegcsp0" Then you could try to insert a ffdec_dvvideo (if you have it) bettween dshowvideosrc and ffmpegcolorspace. (note that I do not know if gstreamer has a dv decoder that does not come from gst-ffmpeg) Sincerely Julien ------------------------------------------------------------------------------ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Thanks. That explains why the two plugins can't speak to each other. I do have ffdec_dvvideo, but I can't get gst-launch-0.10 dshowvideosrc ! fakesink to work as this causes gst-launch to crash, again without anything useful being outputted on the command line, even with the -v option. If I recreate the pipeline in my application I get an integer division by zero exception sometime during the call to gst_element_link_many.
I know that dshowvideosrc can find the camera because when I set the device-name property to be the wrong camera name the pipeline falls through without an exception being thrown. I've had a look at the other properties I could set on dshowvideosrc, but can't see anything that jumps out at me that I should configure. Is there anything else that you can think of that I could do? Phil 2009/6/25 Julien Isorce <[hidden email]>
------------------------------------------------------------------------------ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
2009/6/25 Phil Rendell <[hidden email]> Thanks. That explains why the two plugins can't speak to each other. I do have ffdec_dvvideo, but I can't get gst-launch-0.10 dshowvideosrc ! fakesink to work as this causes gst-launch to crash, again without anything useful being outputted on the command line, even with the -v option. If I recreate the pipeline in my application I get an integer division by zero exception sometime during the call to gst_element_link_many. You could tell us the output you get with the 2 following pipelines: gst-launch-0.10 -v dshowvideosrc ! "video/x-dv, systemstream=0" ! fakesink and gst-launch-0.10 -v dshowvideosrc ! "video/x-dv, systemstream=1" ! fakesink One should fail with a link error. The other one should lead to the crash you got. Then about the crash and the division by zero. I have some ideas but could you tell us if there is any framerate (fps) infos in the page properties of the filter and the outpins using graphedit. Finally right click on the output pin and then select render pin. Then play the graph. Does it play correctly? Julien
------------------------------------------------------------------------------ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
2009/6/25 Julien Isorce <[hidden email]>
Sorry, no joy with this. Both complained about an erroneous pipeline. I don't think this could be the same error as before with feeding dshowvideosrc into ffmpegcolorspace, as if I remover the systemstream property, or set it to either true or false, gst-launch crashes. Setting it to anything else appears to cause the erroneous pipeline error.
D:\Camera\Common\GStreamer\bin>gst-launch-0.10.exe -v dshowvideosrc ! "video/x-dv, systemstream=0" ! fakesink
WARNING: erroneous pipeline: could not link dshowvideosrc0 to fakesink0 D:\Camera\Common\GStreamer\bin>gst-launch-0.10.exe -v dshowvideosrc ! "video/x-dv, systemstream=1" ! fakesink
WARNING: erroneous pipeline: could not link dshowvideosrc0 to fakesink0 D:\Camera\Common\GStreamer\bin>gst-launch-0.10.exe -v dshowvideosrc ! "video/x-dv, systemstream=2" ! fakesink
WARNING: erroneous pipeline: could not link dshowvideosrc0 to fakesink0 D:\Camera\Common\GStreamer\bin>gst-launch-0.10.exe -v dshowvideosrc ! fakesink
Setting pipeline to PAUSED ... <Crash>
D:\Camera\Common\GStreamer\bin>
There does not appear to be any frame rate information in either output pin, nor information about the output size, or compression information. The same goes for either output pin. Rendering the DV A/V Out pin results in DV Splitter, DV Video Decoder, Video Renderer and Default DirectSound Device filters being created. Playing this results in the output from the camera being displayed on screen.
I was wondering if I set the other attributes such as format, width, height and framerate to see if this makes a difference, but am a little puzzled about the output:
D:\Camera\Common\GStreamer\bin>gst-launch-0.10.exe -v dshowvideosrc ! "video/x-dv, format=dvsd, width=640, height=480, framerate=10" ! fakesink
Setting pipeline to PAUSED ... ** (gst-launch-0.10:2448): WARNING **: your desired video size is not valid : 640 mod 1244160 !=0
** (gst-launch-0.10:2448): WARNING **: your desired video size is not valid : 480 mod 1577311108 !=0 <Crash> Phil
------------------------------------------------------------------------------ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
2009/6/26 Phil Rendell <[hidden email]>
I am not sure t follow you. You said "as if I remover the systemstream property, or set it to either true or false" but you got a link error with "video/x-dv, systemstream=1". Then a crash ?
Could you try to add systemstream property as following: gst-launch-0.10.exe -v dshowvideosrc ! "video/x-dv, format=dvsd, width=640, height=480, framerate=10, systemstream=1" ! fakesink and gst-launch-0.10.exe -v dshowvideosrc ! "video/x-dv, format=dvsd, width=640, height=480, framerate=10, systemstream=0" ! fakesink The thing I know is that dshowvideosrc implementation goes in a wrong way in case of "video/x-dv, systemstream=1". I mean it uses FORMAT_VideoInfos fields while it should use FORMAT_DvInfo fields. Even if I have no dv camera I could try something but first I really have to know if it's systemstream=0 or 1. Sincerely Julien ------------------------------------------------------------------------------ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
2009/6/26 Julien Isorce <[hidden email]> Thanks,
Sorry, I probably should have laid that out clearer. I actually executed 4 commands there - one for systemstream=0, one for systemstream=1, one for systemstream=2 and the other as before. If I do a gst-inspect on dshowvideosrc I can see that systemstream is set to true in one case and false in another. No matter what I set it to I always got a crash. However, now when I execute 'gst-launch dshowvideosrc ! "video/x-dv, systemstream=true" ! fakesink' I get a lot of console output, which I assume means everything works fine. I'm really not sure what I'm doing differently now though.
I think my attempts at experimenting are a little bit of a red herring. gst-launch crashes whenever I pass in the format argument. If I run gst-launch without this property set I still get the warning about the desired video size being invalid and the same type of console output I experienced just setting the caps to "video/x-dv, systemstream=true": D:\Camera\Common\GStreamer\bin>gst-launch-0.10.exe -v dshowvideosrc ! "video/x-dv, systemstream=true, width=640, height=480, framerate=10" ! fakesink Setting pipeline to PAUSED ... ** (gst-launch-0.10:3556): WARNING **: your desired video size is not valid : 640 mod 1244160 !=0 ** (gst-launch-0.10:3556): WARNING **: your desired video size is not valid : 480 mod 1577311108 !=0 /GstPipeline:pipeline0/GstDshowVideoSrc:dshowvideosrc0.GstPad:src: caps = video/x-dv, systemstream=(boolean)true, width=(int)640, height=(int)480, framerate=(int)10 Pipeline is live and does not need PREROLL ... Setting pipeline to PLAYING ... New clock: GstSystemClock /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-dv, systemstream=(boolean)true, width=(int)640, height=(int)480, framerate=(int)10 /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-dv, systemstream=(boolean)true, width=(int)640, height=(int)480, framerate=(int)10 /GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: caps = video/x-dv, systemstream=(boolean)true, width=(int)640, height=(int)480, framerate=(int)10 /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "preroll *******" /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "event ******* E(type: 102, GstEventNewsegment, update=(boolean)false, rate=(double)1, applied-rate=(double)1, format=(GstFormat)GST_FORMAT_BYTES, start=(gint64)0, stop=(gint64)-1, position=(gint64)0;) 013379C0" /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain ******* <(144000 bytes, timestamp: 0:00:00.078125000, duration: 0:00:00.040000000, offset: -1, offset_end: -1, flags: 32) 044D3320" /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain ******* <(144000 bytes, timestamp: 0:00:00.125000000, duration: 0:00:00.040000000, offset: -1, offset_end: -1, flags: 0) 044D3378" ... Again, it doesn't appear to work when I set systemstream to 0, 1, or 2, only booleans. For some reason when I execute 'gst-launch dshowvideosrc ! "video/x-dv, systemstream=true, width=640, height=480, framerate=10" ! ffdec_dvvideo ! directdrawsink' I get the link error saying that it cannot link dshowvideosrc0 to ffdec_dvvideo0. Could this be something to do with the format parameter being missing?
You probably don't need it now, but I've attached a screenshot of the filter dialog in graphedit, which might be able to tell you which systemstream is being used. Phil ------------------------------------------------------------------------------ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel Firewire filters.png (42K) Download Attachment |
First I do not understand why you get a difference bettween
systemstream=true and systemstream=1 it should be the same thing. ****Can someone else help us on this exact question: If a propriety is a boolean, then set it to 1 or True, is the same thing ? Forgot this problem then we will use true and false, instead of 0 and 1. Sorry for waste of time. Well if I resume: gst-launch-0.10.exe dshowvideosrc ! "video/x-dv, systemstream=true, width=640, height=480, framerate=10" ! fakesink works fine (goes to playing state without crash) except the two warnings. Then gst-inspect-0.10 ffdec_dvvideo shows that ffdec_dvvideo only accepts systemstream=false. ***Can someone else help us on this other question: Does gstreamer have a decoder for "video/x-dv, systemstream=true" ? Does it make sense ? Phil, can you tell me if gst-launch-0.10.exe dshowvideosrc ! "video/x-dv, systemstream=false, width=640, height=480, framerate=10" ! fakesink leads to the same result as true ? About the screenshot. I can see that only the pin00 can be handled by dshowvideosrc because it's MEDIATYPE_Video and MEDIASUBTYPE_dvsd but unfortunatelly grapedit does not tell us if it's FORMAT_DvInfo (case systemstream=true) or FORMAT_VideoInfo (case systemstream=false) About the warnings, do not care about it, it seems that granularityVideoWidth/Height are not set by your camera driver. Or has no sense in case of systemstream=true. Anyway, for now I just do not know how to decode or render a video/x-dv, systemstream=true. I am sure someone else knows ? Julien 2009/6/26 Phil Rendell <[hidden email]>
------------------------------------------------------------------------------ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
oh there is ffdemux_dv to demux systemstream=true.
So you can try: gst-launch-0.10.exe dshowvideosrc ! "video/x-dv, systemstream=true, width=640, height=480, framerate=10" ! ffdemux_dv ! ffmpegcolorspace ! directdrawsink Julien 2009/6/26 Julien Isorce <[hidden email]> First I do not understand why you get a difference bettween ------------------------------------------------------------------------------ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
In reply to this post by Julien Isorce
2009/6/26 Julien Isorce <[hidden email]> Forgot this problem then we will use true and false, instead of 0 and 1. Sorry for waste of time. No problem - without your help I would be completely stuck and end up being forced to do something drastic like hunt around in the source code before giving up!
Phil, can you tell me if No, it doesn't. It gives me the usual link error:
D:\Camera\Common\GStreamer\bin>gst-launch-0.10.exe -v dshowvideosrc ! "video/x-dv, systemstream=false, width=640, height=480, framerate=30" ! fakesink
WARNING: erroneous pipeline: could not link dshowvideosrc0 to fakesink0
About the screenshot. I can see that only the pin00 can be handled by dshowvideosrc because it's Ok, thanks.
Anyway, for now I just do not know how to decode or render a video/x-dv, systemstream=true. Good idea with the ffdemux_dv. The command you suggested didn't quite work, but once I added the dv decoder you suggested in a previous email and added a deinterlacer I managed to get something to display, although I ended up with a pretty bad 0.5-1 fps. Could I be doing something wrong?
Thanks,
Phil
Without the decoder (runs straight through with no visual output):
D:\rendell_p\Camera\Common\GStreamer\bin>gst-launch-0.10.exe -v dshowvideosrc ! "video/x-dv, systemstream=true, width=720, height=576, framerate=25" ! ffdemux_dv ! ffmpegcolorspace ! directdrawsink
Setting pipeline to PAUSED ... ** (gst-launch-0.10:2500): WARNING **: your desired video size is not valid : 720 mod 1244160 !=0
** (gst-launch-0.10:2500): WARNING **: your desired video size is not valid : 576 mod 1577311108 !=0
/GstPipeline:pipeline0/GstDshowVideoSrc:dshowvideosrc0.GstPad:src: caps = video/x-dv, systemstream=(boolean)true, width=(int)720, height=(int)576, framerate=(int)25
Pipeline is live and does not need PREROLL ... Setting pipeline to PLAYING ... New clock: GstSystemClock /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-dv,systemstream=(boolean)true, width=(int)720, height=(int)576, framerate=(int)25 /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-dv, systemstream=(boolean)true, width=(int)720, height=(int)576, framerate=(int)25 /GstPipeline:pipeline0/ffdemux_dv:ffdemux_dv0.GstPad:sink: caps = video/x-dv, systemstream=(boolean)true, width=(int)720, height=(int)576, framerate=(int)25 ERROR: from element /GstPipeline:pipeline0/ffdemux_dv:ffdemux_dv0: Internal data stream error. Additional debug info: ..\..\ext\ffmpeg\gstffmpegdemux.c(1456): gst_ffmpegdemux_loop (): /GstPipeline:pipeline0/ffdemux_dv:ffdemux_dv0: streaming stopped, reason not-linked Execution ended after 187550000 ns. Setting pipeline to PAUSED ... Setting pipeline to READY ... /GstPipeline:pipeline0/ffdemux_dv:ffdemux_dv0.GstPad:audio_01: caps = NULL /GstPipeline:pipeline0/ffdemux_dv:ffdemux_dv0.GstPad:audio_00: caps = NULL /GstPipeline:pipeline0/ffdemux_dv:ffdemux_dv0.GstPad:video_00: caps = NULL /GstPipeline:pipeline0/ffdemux_dv:ffdemux_dv0.GstPad:sink: caps = NULL /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = NULL /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = NULL /GstPipeline:pipeline0/GstDshowVideoSrc:dshowvideosrc0.GstPad:src: caps = NULL Setting pipeline to NULL ... FREEING pipeline ... With the decoder and deinterlacing (NOTE: there are no errors until I close the window):
D:\Camera\Common\GStreamer\bin>gst-launch-0.10.exe -v dshowvideosrc ! "video/x-dv, systemstream=true, width=720, height=576, framerate=25" ! ffdemux_dv ! ffdec_dvvideo ! ffdeinterlace ! ffmpegcolorspace ! directdrawsink
Setting pipeline to PAUSED ... ** (gst-launch-0.10:432): WARNING **: your desired video size is not valid : 720 mod 1244160 !=0
** (gst-launch-0.10:432): WARNING **: your desired video size is not valid : 576 mod 1577311108 !=0
/GstPipeline:pipeline0/GstDshowVideoSrc:dshowvideosrc0.GstPad:src: caps = video/x-dv, systemstream=(boolean)true, width=(int)720, height=(int)576, framerate=(int)25
Pipeline is live and does not need PREROLL ... Setting pipeline to PLAYING ... New clock: GstSystemClock /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-dv,systemstream=(boolean)true, width=(int)720, height=(int)576, framerate=(int)25 /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-dv, systemstream=(boolean)true, width=(int)720, height=(int)576, framerate=(int)25 /GstPipeline:pipeline0/ffdemux_dv:ffdemux_dv0.GstPad:sink: caps = video/x-dv, systemstream=(boolean)true, width=(int)720, height=(int)576, framerate=(int)25 /GstPipeline:pipeline0/ffdec_dvvideo:ffdec_dvvideo0.GstPad:sink: caps = video/x-dv, width=(int)720, height=(int)576, framerate=(fraction)25/1, systemstream=(boolean)false, format=(fourcc)I420 /GstPipeline:pipeline0/ffdec_dvvideo:ffdec_dvvideo0.GstPad:src: caps = video/x-raw-yuv, width=(int)720, height=(int)576, framerate=(fraction)25/1, format=(fourcc)I420 /GstPipeline:pipeline0/GstFFMpegDeinterlace:ffmpegdeinterlace0.GstPad:src: caps= video/x-raw-yuv, width=(int)720, height=(int)576, framerate=(fraction)25/1, format=(fourcc)I420 /GstPipeline:pipeline0/GstFFMpegDeinterlace:ffmpegdeinterlace0.GstPad:sink: caps = video/x-raw-yuv, width=(int)720, height=(int)576, framerate=(fraction)25/1, format=(fourcc)I420 /GstPipeline:pipeline0/GstFFMpegCsp:ffmpegcsp0.GstPad:src: caps = video/x-raw-rgb, width=(int)720, height=(int)576, framerate=(fraction)25/1, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216 /GstPipeline:pipeline0/GstFFMpegCsp:ffmpegcsp0.GstPad:sink: caps = video/x-raw-yuv, width=(int)720, height=(int)576, framerate=(fraction)25/1, format=(fourcc)I420 /GstPipeline:pipeline0/GstDirectDrawSink:directdrawsink0.GstPad:sink: caps = video/x-raw-rgb, width=(int)720, height=(int)576, framerate=(fraction)25/1, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216 ERROR: from element /GstPipeline:pipeline0/ffdemux_dv:ffdemux_dv0: Internal data stream error. Additional debug info: ..\..\ext\ffmpeg\gstffmpegdemux.c(1456): gst_ffmpegdemux_loop (): /GstPipeline:pipeline0/ffdemux_dv:ffdemux_dv0:streaming stopped, reason error Execution ended after 6375163000 ns. Setting pipeline to PAUSED ... Setting pipeline to READY ... /GstPipeline:pipeline0/GstDirectDrawSink:directdrawsink0.GstPad:sink: caps = NULL /GstPipeline:pipeline0/GstFFMpegCsp:ffmpegcsp0.GstPad:src: caps = NULL /GstPipeline:pipeline0/GstFFMpegCsp:ffmpegcsp0.GstPad:sink: caps = NULL /GstPipeline:pipeline0/GstFFMpegDeinterlace:ffmpegdeinterlace0.GstPad:src: caps= NULL /GstPipeline:pipeline0/GstFFMpegDeinterlace:ffmpegdeinterlace0.GstPad:sink: caps = NULL /GstPipeline:pipeline0/ffdec_dvvideo:ffdec_dvvideo0.GstPad:src: caps = NULL /GstPipeline:pipeline0/ffdec_dvvideo:ffdec_dvvideo0.GstPad:sink: caps = NULL /GstPipeline:pipeline0/ffdemux_dv:ffdemux_dv0.GstPad:audio_01: caps = NULL /GstPipeline:pipeline0/ffdemux_dv:ffdemux_dv0.GstPad:audio_00: caps = NULL /GstPipeline:pipeline0/ffdemux_dv:ffdemux_dv0.GstPad:video_00: caps = NULL /GstPipeline:pipeline0/ffdemux_dv:ffdemux_dv0.GstPad:sink: caps = NULL /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = NULL /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = NULL /GstPipeline:pipeline0/GstDshowVideoSrc:dshowvideosrc0.GstPad:src: caps = NULL Setting pipeline to NULL ... FREEING pipeline ...
------------------------------------------------------------------------------ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
ok so your firewire camera only supports systemstream=true.
try with the default width, height and framerate, and without deinterlacing: gst-launch-0.10 dshowvideosrc ! "video/x-dv, systemstream=true" ! ffdemux_dv ! ffdec_dvvideo ! ffmpegcolorspace ! directdrawsink If still low fps, you could try to set lower width, height and framerate, or qdd a queue before ffmpegcolorspace. You could also try: gst-launch-0.10 dshowvideosrc ! "video/x-dv, systemstream=true" ! decodebin ! ffmpegcolorspace ! directdrawsink and gst-launch-0.10 dshowvideosrc ! decodebin ! ffmpegcolorspace ! directdrawsink About the crash I think it came from: format=dvsd the right way is: format=(fourcc)dvsd Julien
2009/6/26 Phil Rendell <[hidden email]>
------------------------------------------------------------------------------ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Thanks for the suggestions. Unfortunately they didn't have any noticeable effect, and the decodebin couldn't find a the demuxer ('A Digital Video (DV) System Stream demuxer plugin is required to play this stream, but not installed' error).
I also tried setting the lowres property of ffdec_dvvideo to 1/4 size to see if that would make a difference, but again, no luck, which leads me to believe that it's not a problem with decoding the stream. It's just a shame there's not a windows port of libdv, otherwise I could try building dvdemux. I don't know if there's anything else I could try? Phil 2009/6/26 Julien Isorce <[hidden email]> ok so your firewire camera only supports systemstream=true. ------------------------------------------------------------------------------ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
2009/6/29 Phil Rendell <[hidden email]>
Ok maybe ffdec_dv and ffdemux_dv are poor quality.
You could ask libdv mailing list if someone has already tried to compile or port libdv on win32. You could try by your self to compile libdv using msys and mingw. (maybe it's already ported) (http://libdv.sourceforge.net/) You could also try to update the libavcodec.dll libavformat.dll with a newer ffmpeg build, to see if ffdemux_dv and ffdec_dv have been improved. (or see their git web) Julien
------------------------------------------------------------------------------ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
2009/6/29 Julien Isorce <[hidden email]>
I have downloaded pond.dv video sample file from http://libdv.sourceforge.net/ Then: with lastest gstreamer git, on linux [fail] gst-launch-0.10 filesrc location=pond.dv ! ffdemux_dv ! ffdec_dvvideo ! xvimagesink [fail] gst-launch-0.10 filesrc location=pond.dv ! dvdemux ! ffdec_dvideo ! xvimagesink [fail] gst-launch-0.10 filesrc location=pond.dv ! ffdemux_dv ! dvdec ! xvimagesink [success] gst-launch-0.10 filesrc location=pond.dv ! dvdemux ! dvdec ! xvimagesink [success] ffplay pond.dv So "ffmpeg" can play it but "gst-ffmpeg" cannot.
It seems that libdv cannot be compiled with mingw: see: http://www.nabble.com/dv-support-on-windows-td20035798.html (note that there is a win32 port for pthread) ------------------------------------------------------------------------------ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
2009/6/29 Julien Isorce <[hidden email]>
Thanks for trying that - attempting the upgrade was next on my list.
I might give this a try. This is probably going to be a massively complicated and silly idea, but do you have any idea how complicated it would be to create an extension of the dshowvideosrc plugin to include some of the other elements in the DirectX pipeline? It's probably too difficult, particularly as I'm not a DirectX expert, but I was wondering about doing this being as I know that they work well in graphedit. I'll try to have a look into how difficult it is to port libdv sometime tomorrow. Thanks, Phil ------------------------------------------------------------------------------ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Hi,
We are currently working on a new release of GStreamer-Winbuilds (0.10.4) wich will comes with support for the following modules: *gstreamer-0.10.23 *gst-plugins-base-0.10.23 *gst-plugins-good-0.10.15 *gst-plugins-bad-0.10.13 *gst-plugins-ugly-0.10.12 *gst-ffmpeg-0.10.8 *gnonlin-0.10.11 *gsy-python-0.10.15 *gst-gl-0.10 *farsight2 I tryed to play pond.dv but I get the following erro: ffmpeg .:0:: Can't determine profile of DV input stream Instead SMPTEBars.dv, wich is also in the libdv examples plays well. You can download a preview of the new release here: http://forja.rediris.es/frs/download.php/1381/GStreamer-WinBuild-0.10.4-preview1.7z Delete the old c:\gstreamer folder and extract the contents of the 7z file in c:\ (The old binaries are imcompatibles with the ones of the next release because the are linked against different CRT's) Andoni 2009/6/29 Phil Rendell <[hidden email]>: > 2009/6/29 Julien Isorce <[hidden email]> >> >>> 2009/6/29 Phil Rendell <[hidden email]> >>>> >>>> I also tried setting the lowres property of ffdec_dvvideo to 1/4 size to >>>> see if that would make a difference, but again, no luck, which leads me to >>>> believe that it's not a problem with decoding the stream. >>> >>> Ok maybe ffdec_dv and ffdemux_dv are poor quality. >> >> I have downloaded pond.dv video sample file from >> http://libdv.sourceforge.net/ >> >> Then: >> >> with lastest gstreamer git, on linux >> >> [fail] gst-launch-0.10 filesrc location=pond.dv ! ffdemux_dv ! >> ffdec_dvvideo ! xvimagesink >> [fail] gst-launch-0.10 filesrc location=pond.dv ! dvdemux ! ffdec_dvideo ! >> xvimagesink >> [fail] gst-launch-0.10 filesrc location=pond.dv ! ffdemux_dv ! dvdec ! >> xvimagesink >> [success] gst-launch-0.10 filesrc location=pond.dv ! dvdemux ! dvdec ! >> xvimagesink >> [success] ffplay pond.dv >> >> So "ffmpeg" can play it but "gst-ffmpeg" cannot. > > Thanks for trying that - attempting the upgrade was next on my list. > > >>>> It's just a shame there's not a windows port of libdv, otherwise I could >>>> try building dvdemux. I don't know if there's anything else I could try? >>> >>> You could ask libdv mailing list if someone has already tried to compile >>> or port libdv on win32. >>> You could try by your self to compile libdv using msys and mingw. (maybe >>> it's already ported) >>> >>> (http://libdv.sourceforge.net/) >> >> It seems that libdv cannot be compiled with mingw: >> see: http://www.nabble.com/dv-support-on-windows-td20035798.html >> >> (note that there is a win32 port for pthread) > > I might give this a try. This is probably going to be a massively > complicated and silly idea, but do you have any idea how complicated it > would be to create an extension of the dshowvideosrc plugin to include some > of the other elements in the DirectX pipeline? It's probably too difficult, > particularly as I'm not a DirectX expert, but I was wondering about doing > this being as I know that they work well in graphedit. > > I'll try to have a look into how difficult it is to port libdv sometime > tomorrow. > > Thanks, > > Phil > > ------------------------------------------------------------------------------ > > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > -- Andoni Morales Alastruey LongoMatch:The Digital Coach http://www.longomatch.ylatuya.es ------------------------------------------------------------------------------ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |