Hi Jonathan, I am guessing that v4l-info or jv4l-info doesn't work as it should on Centos luckily there is a workaround for it not working. In the
/opt/matterhorn/felix/conf/services/org.opencastproject.capture.impl.ConfigurationManager.properties File at the bottom where you have the devices defined such as capture.device.camera.src=/dev/camera capture.device.camera.outputfile=camera.mpg capture.device.camera.flavor=presenter/source capture.device.camera.buffer.bytes=536870912 capture.device.camera.framerate=30 You will need to add the line: capture.device.camera.type=V4L2SRC Which will tell matterhorn that this is a v4l2 device without using v4l-info or jv4linfo. Thanks, Adam Adam McKenzie ITS, University of Saskatchewan Rm 61 Physics, 116 Science Place Saskatoon SK S7N 5E2 Canada (306) 966-8241h ________________________________________ From: [email protected] [[email protected]] on behalf of Jonathan Felder [[email protected]] Sent: Tuesday, March 20, 2012 11:48 AM To: Matterhorn Users Subject: Re: [Matterhorn-users] trying to get capture agent to run on centos 6.2 The first thing I checked was to make sure the devices were there and that the permissions were correct. To double check the permissions issue I also tried it as root. I realize the install script is for ubuntu. Basically what the install script does is setup some globals and then pulls down individual scripts that are used for each stage of the process. There are scripts for creating the user, installing the dependencies, compiling matterhorn, etc. The install script is also setup to look for these scripts first before attempting to pull them down. That means one can easily grab the separate scripts, modify them to work for centos, and have the installer use them. Here is a list of those scripts: SETUP_USER=./setup_user.sh INSTALL_VGA2USB=./install_vga2usb_drivers.sh SETUP_DEVICES=./setup_devices.sh SETUP_DEPENDENCIES=./setup_dependencies.sh INSTALL_DEPENDENCIES=./install_dependencies.sh SETUP_SOURCE=./setup_source.sh SETUP_ENVIRONMENT=./setup_environment.sh SETUP_BOOT=./setup_boot.sh Near the bottom of the script each one of these is called in turn. I commented out the calls for SETUP_DEPENDENCIES, and SETUP_BOOT. I then copied setup_user, and install_dependencies. I modified setup_user to remove ubuntu specific things, and I modified INSTALL_DEPENDENCIES by removing all of the ubuntu package installation stuff leaving felix and jv4linfo. INSTALL_VGA2USB, SETUP_DEVICES, SETUP_SOURCE, and SETUP_ENVIRONMENT I left as is. I then installed the centos equivalents for the dependencies listed in setup_dependencies. There were: gcc, glib2-devel, subversion, xawtv, gstreamer, gstreamer-plugins*, gstreamer-devel, v4l-utils, kernel-devel, ant, ant-* acpid, alsa-utils, curl, ntp, wget, openjdk, and openssh are installed by default. I manually installed maven and ivtv-utils Finally I had to add the centos location for java to the list of java patterns which the install script looks at to find java. After all this, the hardware was detected and the epiphan driver (vga2usb-3.27.0.4-SCL-2.6.32-131.6.1.el6.x86_64.tbz) was installed and loaded successfully. Matterhorn built successfully and passed all the tests. Matterhorn also starts up and communicates with the server. The error below is a result of scheduling a recording through the admin server. I have attached the modified install scripts for those who might be interested. On 3/20/12 12:53 AM, Ruediger Rolf wrote: > Hi Jonathan, > > I am not 100% sure by the error message that you posted but from this > (and some experience) I would assume this: > - There is no probably no device /dev/bt878_video__provideo_pv143_ ? The > link has not been created as a udev rule (if it works the same way in > Centos)? How did you setup your Centos CA? The script is for Ubuntu... > - I'm not sure which version of v4l is supported with Centos 6.2 and the > corresponding epiphan driver. But if it's v4l2 like in Ubuntu 11.x the > epiphan device is currently not supported as Matterhorn only implements > a V4L1 support for this device (as the epiphan drivers had no v4l2 > support when we started the implementation). Maybe a custom source might > work? > - And last but not least: do you have the right permissions to access > the media devices? I know that Fedora had special user groups ("video" > i.e.) for the access to the media devices when I last used it a long > time ago. So you probably check this too. > > If you manage to get the CA running under CentOS I guess many people > will be thankful for an installation guide in the Wiki. > > RĂ¼diger > > Am 20.03.2012 00:52, schrieb Jonathan Felder: >> So I managed to tweak the install scripts and I think install the >> dependencies for matterhorn capture agent to run on centos 6.2, but >> I'm getting weirdness when trying to capture. Anyone have any ideas? >> Log is below: >> >> 16:48:00 ERROR (GStreamerPipeline:291) - Device >> BT878_video__ProVideo_PV143_ is an unrecognized device >> org.opencastproject.capture.pipeline.UnrecognizedDeviceException: >> Unexpected jv4linfo exception: Invalid argument for >> /dev/bt878_video__provideo_pv143_ >> at >> org.opencastproject.capture.pipeline.GStreamerPipeline.determineSourceFromJ4VLInfo(GStreamerPipeline.java:414) >> >> at >> org.opencastproject.capture.pipeline.GStreamerPipeline.createDevice(GStreamerPipeline.java:359) >> >> at >> org.opencastproject.capture.pipeline.GStreamerPipeline.initDevices(GStreamerPipeline.java:283) >> >> at >> org.opencastproject.capture.pipeline.GStreamerPipeline.create(GStreamerPipeline.java:221) >> >> at >> org.opencastproject.capture.pipeline.GStreamerPipeline.start(GStreamerPipeline.java:84) >> >> at >> org.opencastproject.capture.impl.GStreamerCaptureFramework.start(GStreamerCaptureFramework.java:63) >> >> at >> org.opencastproject.capture.impl.CaptureAgentImpl.startCapture(CaptureAgentImpl.java:337) >> >> at >> org.opencastproject.capture.impl.jobs.StartCaptureJob.execute(StartCaptureJob.java:105) >> >> at org.quartz.core.JobRunShell.run(JobRunShell.java:202) >> at >> org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:534) >> >> 16:48:00 INFO (GStreamerPipeline:430) - Successfully initialised 2 >> devices. >> org.opencastproject.capture.pipeline.bins.UnableToCreateElementException: >> Epiphan_VGA2USB could not create ffvideoscale >> at >> org.opencastproject.capture.pipeline.bins.GStreamerElementFactory.createElement(GStreamerElementFactory.java:55) >> >> at >> org.opencastproject.capture.pipeline.bins.producers.EpiphanVGA2USBV4LSubDeviceBin.createElements(EpiphanVGA2USBV4LSubDeviceBin.java:153) >> >> at >> org.opencastproject.capture.pipeline.bins.producers.EpiphanVGA2USBV4LSubDeviceBin.<init>(EpiphanVGA2USBV4LSubDeviceBin.java:85) >> >> at >> org.opencastproject.capture.pipeline.bins.producers.EpiphanVGA2USBV4LProducer.<init>(EpiphanVGA2USBV4LProducer.java:124) >> >> at >> org.opencastproject.capture.pipeline.bins.producers.ProducerFactory.getProducer(ProducerFactory.java:102) >> >> at >> org.opencastproject.capture.pipeline.bins.CaptureDeviceBin.createProducer(CaptureDeviceBin.java:162) >> >> at >> org.opencastproject.capture.pipeline.bins.CaptureDeviceBin.<init>(CaptureDeviceBin.java:84) >> >> at >> org.opencastproject.capture.pipeline.bins.CaptureDeviceBin.<init>(CaptureDeviceBin.java:120) >> >> at >> org.opencastproject.capture.pipeline.GStreamerPipeline.addCaptureDeviceBinsToPipeline(GStreamerPipeline.java:507) >> >> at >> org.opencastproject.capture.pipeline.GStreamerPipeline.startPipeline(GStreamerPipeline.java:439) >> >> at >> org.opencastproject.capture.pipeline.GStreamerPipeline.create(GStreamerPipeline.java:227) >> >> at >> org.opencastproject.capture.pipeline.GStreamerPipeline.start(GStreamerPipeline.java:84) >> >> at >> org.opencastproject.capture.impl.GStreamerCaptureFramework.start(GStreamerCaptureFramework.java:63) >> >> at >> org.opencastproject.capture.impl.CaptureAgentImpl.startCapture(CaptureAgentImpl.java:337) >> >> at >> org.opencastproject.capture.impl.jobs.StartCaptureJob.execute(StartCaptureJob.java:105) >> >> at org.quartz.core.JobRunShell.run(JobRunShell.java:202) >> at >> org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:534) >> >> 16:48:02 ERROR (GStreamerPipeline:440) - Failed to create pipeline for >> [EPIPHAN_VGA2USB, /dev/epiphan_vga2usb: >> /opt/matterhorn/cache/captures/946/Epiphan_VGA2USB.mpg]. >> org.opencastproject.capture.pipeline.bins.UnableToCreateElementException: >> HDA_Intel_ALC888_Analog could not create twolame >> at >> org.opencastproject.capture.pipeline.bins.GStreamerElementFactory.createElement(GStreamerElementFactory.java:55) >> >> at >> org.opencastproject.capture.pipeline.bins.consumers.AudioFilesinkConsumer.createEncoder(AudioFilesinkConsumer.java:104) >> >> at >> org.opencastproject.capture.pipeline.bins.consumers.AudioFilesinkConsumer.createElements(AudioFilesinkConsumer.java:83) >> >> at >> org.opencastproject.capture.pipeline.bins.PartialBin.<init>(PartialBin.java:64) >> >> at >> org.opencastproject.capture.pipeline.bins.consumers.ConsumerBin.<init>(ConsumerBin.java:80) >> >> at >> org.opencastproject.capture.pipeline.bins.consumers.AudioFilesinkConsumer.<init>(AudioFilesinkConsumer.java:68) >> >> at >> org.opencastproject.capture.pipeline.bins.consumers.ConsumerFactory.getSink(ConsumerFactory.java:74) >> >> at >> org.opencastproject.capture.pipeline.bins.CaptureDeviceBin.createFilesinkConsumer(CaptureDeviceBin.java:230) >> >> at >> org.opencastproject.capture.pipeline.bins.CaptureDeviceBin.createConsumers(CaptureDeviceBin.java:194) >> >> at >> org.opencastproject.capture.pipeline.bins.CaptureDeviceBin.<init>(CaptureDeviceBin.java:88) >> >> at >> org.opencastproject.capture.pipeline.bins.CaptureDeviceBin.<init>(CaptureDeviceBin.java:120) >> >> at >> org.opencastproject.capture.pipeline.GStreamerPipeline.addCaptureDeviceBinsToPipeline(GStreamerPipeline.java:507) >> >> at >> org.opencastproject.capture.pipeline.GStreamerPipeline.startPipeline(GStreamerPipeline.java:439) >> >> at >> org.opencastproject.capture.pipeline.GStreamerPipeline.create(GStreamerPipeline.java:227) >> >> at >> org.opencastproject.capture.pipeline.GStreamerPipeline.start(GStreamerPipeline.java:84) >> >> at >> org.opencastproject.capture.impl.GStreamerCaptureFramework.start(GStreamerCaptureFramework.java:63) >> >> at >> org.opencastproject.capture.impl.CaptureAgentImpl.startCapture(CaptureAgentImpl.java:337) >> >> at >> org.opencastproject.capture.impl.jobs.StartCaptureJob.execute(StartCaptureJob.java:105) >> >> at org.quartz.core.JobRunShell.run(JobRunShell.java:202) >> at >> org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:534) >> >> 16:48:02 ERROR (GStreamerPipeline:440) - Failed to create pipeline for >> [ALSASRC, hw:0: >> /opt/matterhorn/cache/captures/946/HDA_Intel_ALC888_Analog.mp2]. >> _______________________________________________ >> Matterhorn-users mailing list >> [email protected] >> http://lists.opencastproject.org/mailman/listinfo/matterhorn-users > > _______________________________________________ Matterhorn-users mailing list [email protected] http://lists.opencastproject.org/mailman/listinfo/matterhorn-users
