element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Members
    Members
    • Benefits of Membership
    • Achievement Levels
    • Members Area
    • Personal Blogs
    • Feedback and Support
    • What's New on element14
  • Learn
    Learn
    • Learning Center
    • eBooks
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Dev Tools
    • Manufacturers
    • Raspberry Pi
    • RoadTests & Reviews
    • Avnet Boards Community
    • Product Groups
  • Store
    Store
    • Visit Your Store
    • Choose Another Store
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
Sci Fi Your Pi
  • Challenges & Projects
  • Design Challenges
  • Sci Fi Your Pi
  • More
  • Cancel
Sci Fi Your Pi
Blog Video conferencing with the Raspberry Pi
  • Blog
  • Forum
  • Documents
  • Files
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Blog Post Actions
  • Subscribe by email
  • More
  • Cancel
  • Share
  • Subscribe by email
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: Former Member
  • Date Created: 27 Apr 2015 10:49 PM Date Created
  • Views 2481 views
  • Likes 2 likes
  • Comments 17 comments
  • realife_holo
  • design_challenge
  • sci_fi_your_pi
  • reallife_holo
Related
Recommended

Video conferencing with the Raspberry Pi

Former Member
Former Member
27 Apr 2015

By the end of this project I want to be able to start a call on my laptop or my smartphone and start a conversation with whoever is standing next to R2D2, who will holographically project my likeness. That R2D2 model has yet to be built and the projector hasn't arrived yet, so I spent my first week trying to get video conferencing working on the Raspberry Pi 2. You know, baby steps.

 

Software

When I say video conferencing you might immediately think of Skype, which is probably the most widely used video conferencing software. While Skype does have a Linux client, they don't distribute one that runs on ARM processors. On the Skype support forums someone mentions that the new web client at web.skype.com does work on the Raspberry Pi. Unfortunately, at the time of this writing, the Skype Web client is still in closed beta and I don't have an invitation. Whatever, I'm not particularly fond of Skype anyway.

 

There are a couple of open source alternatives and the ones I like best are Ekiga (formerly known as GnomeMeeting) and Linphone (part of the now-discontinued Linspire distribution). Both are SIP clients and offer free SIP accounts. Linphone wins major bonus points for having apps for both iOS and Android and for having python wrappers for the Raspberry Pi. These wrappers are featured on their home page, which links to a wiki page with documentation and an example script that is pretty close to what I want to achieve. Fantastic!

 

Hardware

The kit we received for this challenge includes the Raspberry Pi camera board. The documentation at raspberrypi.org mentions methods for snapping stills and recording video with this camera. What I need for this project however, is something that I can use as a webcam. I spent a lot of time fiddling with something called v4l2loopback. The plan was to capture stills or a video stream with the python scripts, send those to the v4l2loopback device using gstreamer, and then access that video device with the conferencing software. It was much later that I found out that all this wasn't necessary. There already is a V4L2 kernel module for the Raspberry Pi camera and it's called bcm-2835-v4l2. Linphone's raspberry pi wiki page I mentioned earlier also makes mention of this kernel module. I wish I had found it earlier... Oh well, lesson learned.

 

Loading the module is really easy:


sudo modprobe bcm2835-v4l2

echo "bcm2835-v4l2" | sudo tee -a /etc/modules

 

If you see "ERROR: could not insert 'bcm2835_v4l2': Operation not permitted" when trying to load the module, make sure the ribbon cable is connected correctly with the blue end facing the Ethernet port. image

image

I propped up the camera by stuffing the ribbon cable in a bank card holder

 

The kit also includes the Cirrus Logic Audio Card, but mine hasn't arrived yet. I was hoping to make due with a cheap USB sound adapter I already had lying around. Linux recognizes it as the Tenx Technology, Inc. TP6911 sound card. After configuring modprobe to load the snd_usb_audio driver for it, it doesn't appear to be fully supported on the Raspberry Pi and I can't get the audio input to work. If anyone knows a way of making both input and output of this thing to work on the Pi, please let me know in the comments.

 

The other two USB devices you see in the picture above are the Wi-Pi dongle that came in the kit and a wireless receiver for keyboard and mouse.

 

image

Closeup of the cheap Tenx Technology, Inc. TP6911 USB audio adapter

 

Demo

I installed iceweasel (~= Firefox, it's a long story) because the default Epiphany browser on Raspbian doesn't support WebRTC and visited vline.com to do a quick video conferencing test without involving any SIP software like Linphone. vLine generated a room and when I visited the link with my laptop, it worked!

image

The world's loneliest conference call.

 

This screenshot was taken on the Pi so the actual Pi Camera footage is in the lower right. As you can see in the top right corner, this is very demanding on the CPU. Hopefully this won't become a problem later. I'm not particularly worried about that because I have a more urgent problem right now: I can't get the camera to work anymore.

 

Shortly after taking the above screenshot I wiped my SD card to start from scratch, just to make sure I had all the necessary steps documented. I reinstalled Raspbian, enabled the camera in raspi-config and loaded the bcm2835-v4l2 module without errors, but the camera just won't work. I spent some time panicking and troubleshooting, trying to figure out what essential step I forgot. Then I got this clue: the raspistill and raspivid tools used to show me a full-screen camera preview. Now they show me this error:

mmal: Received unexpected camera control callback event, 0x4f525245

 

Judging by this thread on the Raspberry Pi forums, I'm dealing with a hardware failure. Maybe stuffing that ribbon cable in that bank card holder wasn't such a bright idea after all.

 

To be continued...

  • Sign in to reply

Top Comments

  • saturnv
    saturnv over 8 years ago +1
    Just an fyi for you regarding the camera failure. I have had some issues with my cameras in the past and most recently I discovered two causes. Maybe not all or the total cause of failure, but certainly…
  • Former Member
    Former Member over 8 years ago in reply to clem57 +1
    The red light is on until I cntrl+c out of the raspistill command. Here's a thought - I can mail you a few of the suspect cameras that I cannot get running (return the same error). You can have them -…
  • Former Member
    Former Member over 8 years ago +1
    I found a way to do Video Conferences with the Rpi2 (video + audio) in standard HTML5, WebRTC (Multi peer-to-peer). It's called UV4L. I did not have to configure anything: Linux Projects - Example Linux…
  • prasantashee
    prasantashee over 5 years ago

    You can also conduct high quality video conferencing using tools like on premise R-HUB HD video conferencing servers. It provides 30 way HD video conferencing and works on Windows, MAC, Linux (Browser based), Unix (Browser based) etc.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • jessiepi
    jessiepi over 6 years ago

    I have installed the skype application in RPi2 ( Reference Link :- https://eltechs.com/run-skype-on-raspberry-pi/ ). I can able to establish the call from skype application of RPi whereas i am unable to establish the video call from RPi.  I can able to see the attached camera module in video devices under options menu of skype whereas if i made a video call, i can able to see only small black screen. Can anyone please help me out to resolve this issue?

     

    imageimageimage

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • Former Member
    Former Member over 7 years ago in reply to Former Member

    Thanks for the answer Kenny.

    Good to know you found a solution. I'll keep looking for mine.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • Former Member
    Former Member over 7 years ago

    I'm posting this here because I wasn't able to find anyone who had success with Google hangouts through my own research and I just tried it on my own. I was able to get google hangouts working in Chromium on Ubuntu 14.04. That said, but the raspberry pi camera was blurry, upside-down and zoomed-in. Tried futzing with UV4L, several of their other library's mentioned above, and online. Couldn't get it working personally, but I was tired of messing with it. I finally gave up on the pi cam and connected a Logitech hd quickcam to the USB. I  installed drivers and viola! Video conferencing with my team on a big screen tv connected to hdmi. Fullscreen performance is good, but the picture is only slightly blurry compared to the same camera connected to a Mac or PC. Its unfortunate I couldn't get it to work on the pi camera, something with the drivers. Through testing, I ended up switching back to an old Mac, because the resolution was just enough to see a whiteboard I had in the office, as well as experiencing less echo. That said, google hangout _does_ work, reliably so, on an externally connected Logitech camera if you have one. Might be some cheaper USB webcams out there that would also work, just sayin.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • Former Member
    Former Member over 7 years ago

    Congrats Kenny, very interesting project.

     

    I'm looking for info to make something similar, without video, only audio (like a conference set). But here comes my main doubt that I hope you can answer: Has the audio part (HW and/or SW) the capability of cancel the output voice to avoid capturing it by the microphone? Neither the "Cirrus Logic Audio Card" nor the TP6911 sound card says nothing about it in their respectives webs.

    I will apreciate any feedback you could give me.

    Thanks in advance.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2023 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • Facebook
  • Twitter
  • linkedin
  • YouTube