Silva, It does have MJPEG but opencv is converting the format to YUYV. And also does your board have I/O pins digital and analogue?
On Thu, May 26, 2016 at 8:35 AM, Tinashe Mudavanhu <[email protected]> wrote: > The 160x120 video stream had no latency but the other camera with 1280x720 > was slow, video was displayed as images being flipped like book pages. > > I need to understand something from your files. Does it mean the rest of > my iris recognition code has to be in the framegrabber.py client file and > also this file can also run on BBB? Do i need the zhelper.h file when my PC > is running Ubuntu? > > Here is my setup like. I have a PC running Ubuntu connected to the BBB via > usb and also sharing internet via the same cable (there is no wired > connection, only the PC is connected to wifi). I want to see the video > stream on my BBB for debugging purposes and once it is working fine it > doesn't have to show the video stream. I am accessing the BBB Desktop/GUI > via a tightvnc client running on my Ubuntu PC. Thats when i will move to > the hub for a wired connection so that everyone connected to the hub can > access web pages served by the BBB (running lighttpd webserver). > > I was successful in the part of running BBB as a webserver (without an > video stream to show on the site because i don't need it) but then the > first part of getting a video stream to show was not possible because of > select timeout errors. > > On Thu, May 26, 2016 at 12:35 AM, Matthew Witherwax <[email protected]> > wrote: > >> Looks like framegrabber was able to capture images based on the output >> you provided. Did you look at the images? >> >> If it works for you then the code for the subscriber here >> http://blog.lemoneerlabs.com/post/bbb-mjpeg-streaming will show you how >> to load it into opencv. >> ------------------------------ >> From: João M. S. Silva <[email protected]> >> Sent: 5/25/2016 4:13 PM >> To: [email protected] >> >> Subject: Re: [beagleboard] Re: VGA camera capture >> >> If the camera has a good compression mechanism (e.g. MJPEG), it may be >> softer on the USB bus. >> >> In our board, we are using OpenCV but we don't capture images with the >> OpenCV instruction. Instead, we use something like this: >> >> https://linuxtv.org/downloads/v4l-dvb-apis/v4l2grab-example.html >> >> For video capturing there is also an example: >> >> https://linuxtv.org/downloads/v4l-dvb-apis/capture-example.html >> >> Note that OpenCV uses v4l underneath. >> >> On 25/05/2016 16:51, Tinashe Mudavanhu wrote: >> > Silva, >> > >> > There has to be way. Dereck Molloy >> > https://www.youtube.com/watch?v=8QouvYMfmQo was able to get a video >> > stream then its possible to video stream with BBB. I don't have much >> > time to look for another development board because the Project is due >> > next week. >> > >> > On Wed, May 25, 2016 at 5:48 PM, Tinashe Mudavanhu <[email protected] >> > <mailto:[email protected]>> wrote: >> > >> > Hi, >> > >> > The same is happening on the other webcam i have (not sure if its >> > openCV changing resolution). I bought it on AliExpress and has the >> > following discription; HD 1.3 megapixel 960p 2.8-12mm varifocal lens >> > Aptina AR0130 android external usb camera module with IR cut >> > ELP-USB130W01MT-FV >> > < >> http://www.aliexpress.com/item/HD-1-3-megapixel-2-8-12mm-varifocal-lens-android-external-usb-camera-module-with-IR/32295825258.html >> >. >> > The supplier can be found on http://www.elpcctv.com. >> > >> > Since there are no errors, what could be the problem? Is there some >> > dependencies i have to install? >> > >> > I tested with your framebrabber.c code and was getting this (see >> > below) with the Logitech webcam, >> > >> > root@beaglebone:~# time ./framegrabber -f mjpeg -H 480 -W 640 -c >> > 1000 -I 30 >> > Startup took 0.010000 seconds >> > Captured 1000 frames in 0.220000 seconds >> > Shutdown took 0.000000 seconds >> > >> > >> > real 0m42.068s >> > user 0m0.025s >> > sys 0m0.223s >> > >> > The no name webcam was giving the following results; >> > root@beaglebone:~# time ./framegrabber -f mjpeg -H 480 -W 640 -c >> > 1000 -I 30 >> > Startup took 0.020000 seconds >> > Captured 1000 frames in 0.260000 seconds >> > Shutdown took 0.000000 seconds >> > >> > >> > real 2m10.965s >> > user 0m0.033s >> > sys 0m0.262s >> > root@beaglebone:~# >> > >> > >> > >> > On Wed, May 25, 2016 at 5:23 PM, Matthew Witherwax >> > <[email protected] <mailto:[email protected]>> wrote: >> > >> > There are no actual errors in the output you posted. >> > >> > Do you have access to any other webcams? I have tested this >> > with the Logitech C920, the Logitech C270, and the PS3Eye. >> > Without access to your webcam, it is hard for me to look into >> > what is going on. >> > >> > >> > On Wednesday, May 25, 2016 at 8:57:55 AM UTC-5, Tinashe >> > Mudavanhu wrote: >> > >> > The timeout error resurfaced again, i followed you blog post >> > on >> > >> http://blog.lemoneerlabs.com/3rdParty/Darling_BBB_30fps_DRAFT.html >> > but got the following errors in compiling libjpeg-turbo ; >> > >> > root@beaglebone:~/libjpeg-turbo-1.3.0/build# make >> > make all-recursive >> > make[1]: Entering directory >> `/root/libjpeg-turbo-1.3.0/build' >> > Making all in java >> > make[2]: Entering directory >> > `/root/libjpeg-turbo-1.3.0/build/java' >> > make[2]: Nothing to be done for `all'. >> > make[2]: Leaving directory >> > `/root/libjpeg-turbo-1.3.0/build/java' >> > Making all in simd >> > make[2]: Entering directory >> > `/root/libjpeg-turbo-1.3.0/build/simd' >> > make all-am >> > make[3]: Entering directory >> > `/root/libjpeg-turbo-1.3.0/build/simd' >> > make[3]: Nothing to be done for `all-am'. >> > make[3]: Leaving directory >> > `/root/libjpeg-turbo-1.3.0/build/simd' >> > make[2]: Leaving directory >> > `/root/libjpeg-turbo-1.3.0/build/simd' >> > Making all in md5 >> > make[2]: Entering directory >> > `/root/libjpeg-turbo-1.3.0/build/md5' >> > make[2]: Nothing to be done for `all'. >> > make[2]: Leaving directory >> `/root/libjpeg-turbo-1.3.0/build/md5' >> > make[2]: Entering directory >> `/root/libjpeg-turbo-1.3.0/build' >> > make[2]: Leaving directory `/root/libjpeg-turbo-1.3.0/build' >> > make[1]: Leaving directory `/root/libjpeg-turbo-1.3.0/build' >> > root@beaglebone:~/libjpeg-turbo-1.3.0/build# >> > >> > >> > Before compiling libjpeg-turbo i tested my code to see what >> > will be happening on the resolution and frame rate. I am >> > working with a Logitech QuickCam E3500 which has support for >> > both YUVY and MJPEG. I set the resolution to 320x240 with a >> > 30fps frame rate but after running the code, got select >> > timeout errors and the resolution had changed to 640x480 >> > YUVY with a 15fps frame rate; >> > >> > root@beaglebone:~/libjpeg-turbo-1.3.0/build# v4l2-ctl -V >> > Format Video Capture: >> > Width/Height : 640/480 >> > Pixel Format : 'YUYV' >> > Field : None >> > Bytes per Line: 1280 >> > Size Image : 614400 >> > Colorspace : SRGB >> > root@beaglebone:~/libjpeg-turbo-1.3.0/build# >> > >> > >> > >> > >> > On Tue, May 24, 2016 at 1:22 AM, Tinashe Mudavanhu >> > <[email protected]> wrote: >> > >> > Hi Matthew, >> > >> > I'm a rookie in this linux/opencv area i wouldn't really >> > know what it means, only learning from you. I posted a >> > question >> > >> https://groups.google.com/forum/#!category-topic/beagleboard/debian/VFuvveM_8Gc >> > looking for a solution because it always happened when i >> > plugged in the webcam on BBB. Running the command i >> > previously mentioned ended my woes. >> > >> > On Tue, May 24, 2016 at 1:04 AM, Matthew Witherwax >> > <[email protected]> wrote: >> > >> > The issue causing the select time out detailed in my >> > article has to do with how much data is being sent >> > over the USB and how it is sent. Reducing the frame >> > rate reduces the load on the USB. Looking at the >> > articles you linked, one says it solved an issue but >> > not the select timeout, and the other shows an error >> > message that says it could not allocate memory. >> > Neither one of these are the cause of the select >> > timeout I addressed. >> > >> > The select timeout occurs when the select times out. >> > Looks like in the cases in your links a previous >> > call to allocate memory failed followed by select >> > failing. I have never had an issue with memory >> > allocation. All my troubles had to do with too much >> > data on the USB. You might want to confirm what your >> > actual problem is. >> > >> ------------------------------------------------------------------------ >> > From: Tinashe Mudavanhu >> > Sent: 5/23/2016 4:58 PM >> > To: [email protected] >> > Subject: Re: [beagleboard] Re: VGA camera capture >> > >> > Hi Matthew, >> > >> > I looked into the article as i went through your >> > discussion but did not try the framegrabber.c, will >> > test it though. I finally got a solution to the >> > problem from links listed below. It kind of made >> > sense to me (lack of memory in ARM systems) because >> > running the same code on my PC worked perfectly >> > well. Running this command `sysctl >> > vm.overcommit_memory=1` worked for me after a long >> > struggle. What i'm not really sure are the >> > implications (being it on Hardware or Software) if >> > there comes a state when large size memory is really >> > needed. >> > >> > >> > [1]: >> > >> https://www.raspberrypi.org/forums/viewtopic.php?f=31&t=17773 >> > [2]: >> > >> https://tequals0.wordpress.com/2014/03/24/libv4l2-error-allocation-conversion-buffer-using-opencv-on-a-pi/ >> > >> > On Mon, May 23, 2016 at 10:25 PM, Matthew Witherwax >> > <[email protected]> wrote: >> > >> > Hi Tinashe, >> > >> > Please see my article here >> > http://blog.lemoneerlabs.com/post/BBB-webcams >> > There is a version of framegrabber.c linked to >> > it that allows you to specify the frame rate >> > with the command line parameter -I. If reducing >> > the frame rate works for you, then the code for >> > framegrabber should provide a starting point for >> > accomplishing the same thing in your own >> program. >> > >> > On Mon, May 23, 2016 at 2:43 PM, Tinashe >> > Mudavanhu <[email protected]> wrote: >> > >> > Firstly i would like to say i came across >> > your discussion looking for select timeout >> > error solution but as i went through it i >> > didnt notice if you found a solution, but if >> > you have it now, i would appreciate it. The >> > select timeout error still seems to be in >> > existence even on BBB Rev C with kernel >> > 3.8.13-bone79. I am working on an Iris >> > recognition system that initially has to >> > track eyes in a live video stream (from >> > there captures cropped eye images that will >> > be processed). I have installed different >> > OpenCV versions, 2.4.9, 2.4.11 and 3.0.0 and >> > in all of them i am getting the same error. >> > I am working with a Logitech, Inc. QuickCam >> > E 3500 webcam. I am accessing the BBB >> > Desktop using Tightvnc client on my PC >> > running Ubuntu 14.04 LTS. >> > >> > What is surprising is that it is capable of >> > video streaming with opencv installed by >> > apt-get (apt-get install python-opencv) but >> > the limitation with this version is that it >> > has very old cv bindings and documentation >> > on some functions for Histogram equalisation >> > is not available online. I am stuck, i need >> > your help. >> > >> > On Tuesday, 10 September 2013 16:50:46 >> > UTC+2, Matthew Witherwax wrote: >> > >> > Getting another BBB or raspberry pi >> > probably wont help, but a U2 from >> > HardKernel here >> > >> http://www.hardkernel.com/renewal_2011/products/prdt_info.php?g_code=G135341370451 >> > probably would. You can use the BBB to >> > do all IO and use the processing power >> > of the U2 to handle compute intensive >> > tasks. That is actually my end goal. >> > The cpu use I stated earlier was without >> > showing the image. Displaying the image >> > will increase cpu use. >> > >> > I am also working on a tracking >> > application with the webcam mounted on a >> > servo. For my purposes, I do not need >> > to see the image on the BBB and can push >> > it over wifi to my laptop if I want to >> > view it. >> > >> > As far as cv code, what are you looking >> > for? I have posted a tool on my blog >> > here >> > >> http://blog.lemoneerlabs.com/post/shades-of-red >> > to help you find HSV values from images >> > to allow you to to find values to >> > threshold target colors. I will post >> > another one on using HSV ranges to >> > threshold an image to isolate things >> > like a red colored ball. I have been >> > implementing OpenCV code using python >> > right now for experimentation, but you >> > should be able to translate it to C++ or >> > your language of choice. >> > >> > The command v4l2-ctl --list-formats-ext >> > will tell you the pixel formats and >> > resolutions supported by your camera. >> > >> > Hope this helps, >> > >> > Matthew Witherwax >> > >> > >> > On Tue, Sep 10, 2013 at 8:48 AM, James >> > Richins <[email protected]> >> wrote: >> > >> > Matthew, >> > >> > It does remind of something on Derek >> > Molloy's site in that he adds coding >> > to deal with the h264 codec for >> > taking stills with opencv. I >> > hesitated at the idea. Interestingly >> > even using an additional bbb or >> > raspberry pi might not even help. >> > I'm looking at camera tracking >> > objects/object recognition and servo >> > control. >> > I might find that by not displaying >> > the video on the monitor, that the >> > tracking and servo control can work >> > less than 100% CPU. >> > I have yet to implement the cv code >> > for that, it's a real struggle to >> > find good code. And not get errors. >> > I have managed servo control through >> > python and manual entering numbers >> > so its ultimately possible. >> > I'm not sure if my camera does >> > anything other than yuyv. I'd be >> > interested in connecting an Ethernet >> > cam to the Ethernet port and read >> > camera data from there, but you'd >> > probably run into the same problem. >> > Ethernet cam to pc processing cv >> > code, wifi to beaglebone servo >> > control might be good. But its >> > probably a slow process and too >> > complicated for me. >> > >> > Anyway good luck with your project. >> > >> > James >> > >> > On 10 Sep 2013, at 13:57, Matthew >> > Witherwax <[email protected]> >> wrote: >> > >> >> James, >> >> >> >> I have not done any cpu testing >> >> other than while saving single >> >> frames. In MJPEG format, >> >> capturing a single frame at >> >> 1920x1080 30 fps and saving it was >> >> taking about 6% cpu. Doing the >> >> same in YUYV at a reduced >> >> resolution and converting to jpeg >> >> was taking about 70%. I would not >> >> rush out to buy a h264 camera. >> >> First, I am not sure OpenCV >> >> decodes h264 streams. Second, if >> >> it did, I am not sure you would >> >> see much improvement because of >> >> the need to decode the h264 >> >> stream. If the BBB does this in >> >> hardware is likely wont be bad, >> >> but if it is a software >> >> implementation we are just >> >> shifting the burden. I am >> >> currently working through several >> >> tradeoffs. YUYV should give the >> >> truest image free of compression >> >> artifacts, but will be larger and >> >> require more resources to capture >> >> and process. MJPEG may suffer >> >> from compression artifacts, but >> >> images can be captured more >> >> quickly and at higher >> >> resolutions. One has to decide >> >> what combination of frame rate, >> >> resolution, and fidelity are >> >> required. I am currently working >> >> through the permutations to see >> >> what suits my application. >> >> >> >> An option I have open is to send >> >> the captured images over a wifi >> >> link to a computer that runs all >> >> the OpenCV code and pipes back the >> >> data I am after. This leaves the >> >> BBB mostly free to do other work. >> >> I will update as I progress. >> >> >> >> Matthew Witherwax >> >> >> >> >> >> On Tue, Sep 10, 2013 at 7:35 AM, >> >> James Richins >> >> <[email protected]> wrote: >> >> >> >> >> >> >> >> >> >> [The entire original message is not included.] >> >> -- >> For more options, visit http://beagleboard.org/discuss >> --- >> You received this message because you are subscribed to a topic in the >> Google Groups "BeagleBoard" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/beagleboard/2NO62mGcSvA/unsubscribe. >> To unsubscribe from this group and all its topics, send an email to >> [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/beagleboard/574628d3.8847810a.511bf.33ec%40mx.google.com >> <https://groups.google.com/d/msgid/beagleboard/574628d3.8847810a.511bf.33ec%40mx.google.com?utm_medium=email&utm_source=footer> >> . >> >> For more options, visit https://groups.google.com/d/optout. >> > > -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/CADw4j_uD7e-P%3DFChRHLbq5rXMJXQS8KwyxaEqwatBOAv-oWF6Q%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
