Hi, Adam, Thanks a lot for the response. I spent some time researching how to write the pipeline, but I couldn't find much. I attach the output of both commands. None of them worked. I keep getting an internal data flow error. Do you think this could be some hardware-related issue? I can see the cam turning on and then off after it fails.
Thanks again for the help. Luis Galeana. 2012/8/3 McKenzie, Adam <[email protected]> > Hi Luis, > > > > Sorry about the information overload, on the plus side the v4l-info output > confirms that your webcam outputs raw frames (as does the gst-launch > v4l2src device=/dev/video0 ! xvimagesink actually working). Could you try > running the gstreamer command: > > > "gst-launch -ev v4l2src device=/dev/video0 ! video/x-raw-yuv, > width=1280, height=1024 ! queue ! ffenc_mpeg2video ! queue ! mpegpsmux ! > filesink location=testWithResolution.mpg" > > > Letting it run for a few seconds and then testing to see that the > testWithResolution.mpg file plays okay? This is similar to the same > pipeline that will run in matterhorn except that I have added the explicit > resolution so that it will more likely link okay. If that pipeline works > okay could you try: > > > "gst-launch -ev v4l2src device=/dev/video0 ! queue ! ffenc_mpeg2video ! > queue ! mpegpsmux ! filesink location=testWithoutResolution.mpg" > > > Looking especially for the line "streaming task paused, reason not-linked > (-1)" after the usual "ERROR: from element > /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data flow error." > > Webcams are great in that they support a variety of resolutions and > framerates for those resolutions but this makes it difficult for them in my > experience to link correctly with encoders. Sometimes the encoders demand > too many frames at the maximum resolution and overwhelm the webcam causing > the internal data flow error (at least this is what I assume is happening > with the webcam I use for testing). > > If the first gstreamer line works, but not the second I am hoping you > should be able to capture with these settings: > > capture.device.Webcam.type=CUSTOM_VIDEO_SRC > capture.device.Webcam.flavor=presenter/source > capture.device.Webcam.outputfile=Webcam.mpg > capture.device.Webcam.src=/dev/video0 > capture.device.Webcam.customProducer=v4l2src device=/dev/video0 ! > video/x-raw-yuv, width=1280, height=1024 ! queue > > Thanks, > > Adam > > > Adam McKenzie > ITS, University of Saskatchewan > Rm 61 Physics, 116 Science Place > Saskatoon SK S7N 5E2 Canada > (306) 966-8241 > > > > *From:* [email protected] [mailto: > [email protected]] *On Behalf Of *Luis Galeana > *Sent:* Thursday, August 02, 2012 6:14 PM > > *To:* Matterhorn Users > *Subject:* Re: [Matterhorn-users] Capture Agent pipeline > > > > Hi, Adam, > > I don't like to admit that I feel pretty lost. I attach the output of > v4l-info and the one of gst-inspect. Also, I can launch the cam with this > command gst-launch v4l2src device=/dev/video0 ! xvimagesink. > > Thanks a lot. > > Luis Galeana. > > 2012/8/2 McKenzie, Adam <[email protected]> > > Hi Luis, > > There are a couple of things you can do to try to get more information > about your device. > > > Could you run > "v4l-info /dev/video0" > > This will spit out a lot of information but the key part is the video > capture part. For example I have a camera that outputs motion jpeg and the > output of the video capture looks like this: > > video capture > VIDIOC_ENUM_FMT(0,VIDEO_CAPTURE) > index : 0 > type : VIDEO_CAPTURE > flags : 0 > description : "YUV 4:2:2 (YUYV)" > pixelformat : 0x56595559 [YUYV] > VIDIOC_ENUM_FMT(1,VIDEO_CAPTURE) > index : 1 > type : VIDEO_CAPTURE > flags : 1 > * description : "MJPEG"* > pixelformat : 0x47504a4d [MJPG] > > Could you attach the whole output to your reply so that I can perhaps > change the custom pipeline for your particular device. > > If it does say that it uses h264 could you run > "gst-inspect ffdec_h264" > > If it complains that the gstreamer-tools are not installed could you > install them with > "sudo apt-get install gstreamer-tools" > > You need this element to actually decode 264 streams in case your webcam > actually outputs x264. If it isn't installed and complains it is missing > you might need to run: > "sudo apt-get install gstreamer0.10-ffmpeg" > > To enable it and try the custom pipeline again. > > Thanks, > Adam > > *Adam McKenzie* > * Programmer Analyst, Education Applications* > > Client Services, Information and Communications Technology > > Ph: (306) 966-8241 > > > > <http://www.usask.ca/> > ------------------------------ > <http://www.usask.ca/> > > *From:* *[email protected]* [* > [email protected]*] on behalf of Luis Galeana [ > *[email protected]*] <http://www.usask.ca/> > > > *Sent:* Wednesday, August 01, 2012 6:29 PM > *To:* Matterhorn Users > *Subject:* Re: [Matterhorn-users] Capture Agent pipeline<http://www.usask.ca/> > > <http://www.usask.ca/> > > Hi, Adam, > > I changed my configuration to what you said, but I still get the internal > error message. The log is below. Is there any information that could help > determine the cause of the failure? > > Log: > ---------------------------- > ... > 20:19:47 INFO (GStreamerPipeline:430) - Successfully initialised 2 > devices. > 20:19:47 INFO (CustomVideoProducer:73) - Custom Video Producer is using > Pipeline: "v4l2src device=/dev/video0 ! queue ! decodebin ! queue" > 20:19:48 INFO (GStreamerPipeline:96) - Initializing devices for capture. > 20:19:51 INFO (ProducerBin:121) - Sending EOS to stop v4l2src0 > 20:19:51 WARN (GStreamerPipeline$2:144) - v4l2src0: Internal data flow > error. > 20:19:51 INFO (ProducerBin:121) - Sending EOS to stop alsasrc0 > 20:19:54 INFO (AgentStateJob:190) - #7 - State push to * > org.opencastproject.capture.impl.jobs.AgentStateJob@5d59d625* to * > http://localhost:8080/capture-admin/agents/Galeana* failed with code 405. > 20:19:54 INFO (AgentConfigurationJob:121) - #7 - Capabilities push to * > http://localhost:8080/capture-admin/agents/Galeana/configuration* failed > with code 405. > 20:19:54 INFO (AgentStateJob:190) - #7 - State push to * > org.opencastproject.capture.impl.jobs.AgentStateJob@5d59d625* to * > http://localhost:8080/capture-admin/recordings/Unscheduled-Galeana-1343866787387 > * failed with code 405. > ... > 20:20:51 ERROR (CaptureAgentImpl:339) - Unable to start pipeline after 5 > seconds. Aborting! > --------------------------------------- > > Thanks! > > Luis Galeana. > > <http://www.usask.ca/> > > 2012/8/1 McKenzie, Adam <*[email protected]*> <http://www.usask.ca/> > > Hi Luis, <http://www.usask.ca/> > > <http://www.usask.ca/> > > I noticed in your log that it stated the problem is “Internal data flow > error” which combined with your comment earlier that your webcam captures > in h264 might be the culprit. Could you try changing your webcam capture > device settings to: <http://www.usask.ca/> > > <http://www.usask.ca/> > > capture.device.Webcam.type=CUSTOM_VIDEO_SRC <http://www.usask.ca/> > > capture.device.Webcam.flavor=presenter/source <http://www.usask.ca/> > > capture.device.Webcam.outputfile=Webcam.mpg <http://www.usask.ca/> > > capture.device.Webcam.src=/dev/video0 <http://www.usask.ca/> > > capture.device.Webcam.customProducer=v4l2src device=/dev/video0 ! queue ! > decodebin ! queue <http://www.usask.ca/> > > <http://www.usask.ca/> > > The type CUSTOM_VIDEO_SRC specifies that you want to write your own > gstreamer magic. The customProducer property is the actual gstreamer line > that it will run when it tries to capture from your webcam. Each of the > elements in the pipeline are separated with exclamation points “!”. The > “v4l2src device=/dev/video0” part just tells it to capture from the video 4 > linux 2 device located at /dev/video0. The queues are just in case your > system needs a bit of a buffer to process and decode the video. Finally the > “decodebin” part is a gstreamer element that will try to determine what is > coming in, attach the correct decoder and pass on raw frames for the rest > of the pipeline. Please let me know if anything else is unclear. > <http://www.usask.ca/> > > <http://www.usask.ca/> > > Cheers, <http://www.usask.ca/> > > Adam <http://www.usask.ca/> > > <http://www.usask.ca/> > > Adam McKenzie > ITS, University of Saskatchewan > Rm 61 Physics, 116 Science Place > Saskatoon SK S7N 5E2 Canada > *(306) 966-8241* <http://www.usask.ca/> > > <http://www.usask.ca/> > > *From:* *[email protected]* [mailto:* > [email protected]*] *On Behalf Of *Luis Galeana > *Sent:* Wednesday, August 01, 2012 9:29 AM > *To:* Matterhorn Users > *Subject:* Re: [Matterhorn-users] Capture Agent pipeline<http://www.usask.ca/> > > <http://www.usask.ca/> > > Hi again, > > Below is my device configuration and I'm getting some internal error... > The log is at the end. What do you think that could be the problem? > > #Create the presenter capture > capture.device.Webcam.type=V4L2SRC > capture.device.Webcam.flavor=presenter/source > capture.device.Webcam.outputfile=Webcam.mpg > capture.device.Webcam.src=/dev/video0 > > #Create the audio capture > capture.device.test.src=hw:0 > capture.device.test.outputfile=test.mp2 > capture.device.test.flavor=presenter/source > capture.device.test.buffer.bytes=536870912 > capture.device.names=Webcam, test > > Log: > ------------------ > 21:55:41 INFO (AgentStateJob:190) - #4 - State push to * > org.opencastproject.capture.impl.jobs.AgentStateJob@2e647edd* to * > http://localhost:8080/capture-admin/agents/Galeana* failed with code 405. > 21:55:41 INFO (AgentConfigurationJob:121) - #4 - Capabilities push to * > http://localhost:8080/capture-admin/agents/Galeana/configuration* failed > with code 405. > 21:55:44 INFO (GStreamerPipeline:430) - Successfully initialised 2 > devices. > 21:55:45 INFO (GStreamerPipeline:96) - Initializing devices for capture. > 21:55:48 INFO (ProducerBin:121) - Sending EOS to stop v4l2src0 > 21:55:48 INFO (ProducerBin:121) - Sending EOS to stop alsasrc0 > 21:55:48 WARN (GStreamerPipeline$2:144) - v4l2src0: Internal data flow > error. > 21:55:51 INFO (AgentStateJob:190) - #5 - State push to * > org.opencastproject.capture.impl.jobs.AgentStateJob@7a7683b1* to * > http://localhost:8080/capture-admin/agents/Galeana* failed with code 405. > 21:55:51 INFO (AgentConfigurationJob:121) - #5 - Capabilities push to * > http://localhost:8080/capture-admin/agents/Galeana/configuration* failed > with code 405. > 21:55:51 INFO (AgentStateJob:190) - #5 - State push to * > org.opencastproject.capture.impl.jobs.AgentStateJob@7a7683b1* to * > http://localhost:8080/capture-admin/recordings/Unscheduled-Galeana-1343699744653 > * failed with code 405. > ... > 21:56:48 ERROR (CaptureAgentImpl:339) - Unable to start pipeline after 5 > seconds. Aborting! > ------------------- > > P.S. I couldn't fix the push and capabilities errors. Could you elaborate > a little bit on what I should do? I see that both config.properties files - > the core and the capture agent - have the same url, as well as the > org.opencastproject.capture.core.url. > > Thanks a lot!! > > Luis Galeana. <http://www.usask.ca/> > > <http://www.usask.ca/> > > > _______________________________________________ > Matterhorn-users mailing list > *[email protected]* > *http://lists.opencastproject.org/mailman/listinfo/matterhorn-users*<http://www.usask.ca/> > > <http://www.usask.ca/> > > > _______________________________________________ > Matterhorn-users mailing list > *[email protected]* > *http://lists.opencastproject.org/mailman/listinfo/matterhorn-users*<http://www.usask.ca/> > > <http://www.usask.ca/> > > _______________________________________________ > Matterhorn-users mailing list > [email protected] > http://lists.opencastproject.org/mailman/listinfo/matterhorn-users > >
Resolution
Description: Binary data
NoResolution
Description: Binary data
_______________________________________________ Matterhorn-users mailing list [email protected] http://lists.opencastproject.org/mailman/listinfo/matterhorn-users
