-
Notifications
You must be signed in to change notification settings - Fork 8
Home
Matthias edited this page Jul 16, 2013
·
51 revisions
gstreamer-phone is a console tool, which allows to make video calls independent of a graphical system installed. It negotiates a session with a remote partner via SIP, XMPP (Jabber, Google Talk) or Google Hangouts (planned) and initiates H.264 compressed video transmission via RTP using gstreamer. gstreamer-phone is especially designed for usage on the Raspberry Pi with special focus on the Raspberry's hardware H.264 encoding and decoding capabilities. The camera for development is the Logitech C920, which features hardware H.264 encoding.
- separate project
- first, you need to understand about GStreamer support for the UVC for H.264 encoding cameras
- for UVC H.264 support to work, you need to compile a recent version of gstreamer 0.10: Compiling gstreamer
- some example commands, to check if it's working: Streaming H.264 via RTP
- if you want the gstreamer server (receives video for display) to display immediately, it needs to be running before the client starts to send data
- video decoding will happen in the Raspberry's Broadcom VideoCore IV using GstOpenMAX
PC:
$ gst-launch-0.10 -v v4l2src device=/dev/video1 ! 'video/x-h264,width=800,framerate=15/2' ! rtph264pay ! udpsink host=raspberry port=9078
Raspberry:
$ gst-launch-1.0 -v udpsrc port=9078 ! 'application/x-rtp,payload=96,encoding-name=H264' ! queue ! rtph264depay ! h264parse ! decodebin ! autovideosink
- uvch264 for gstreamer-0.10 works perfectly
- H.264 stream bitrates can be adjusted in the command line
- streaming through SSH tunnel works
- streaming via RTP works
- video preview on the recording machine does not work, since eglglessink for 0.10 won't run and only 0.10 features the uvch264 plugin
- gst-omx for gstreamer-0.10 will not launch
- gstreamer-1.0 will not compile dfbvideosink, because it's not been ported yet
- SIP support, see also Issue list
- Android app
- Video conference with other common SIP clients
- SRTP support
- RTP over SSH support
- a Raspberry Pi
- a Logitech C920 webcam
- gstreamer
deb http://ramses.wh2.tu-dresden.de/pub/mirrors/raspbian/raspbian/ wheezy main contrib non-free rpi deb-src http://ramses.wh2.tu-dresden.de/pub/mirrors/raspbian/raspbian/ wheezy main contrib non-free rpi deb http://vontaene.de/raspbian-updates/ . main deb-src http://vontaene.de/raspbian-updates/ . main
apt-get install libgstreamer0.10-0 gstreamer0.10-tools \ gstreamer0.10-plugins-good gstreamer0.10-plugins-ugly \ v4l-utils
apt-get install libnss-mdns mdns-scan avahi-{utils,daemon}
- /etc/nsswitch.conf
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
- http://fablabamiens.org/index.php?title=Raspberry_for_HD_Video_Streaming
- http://groakat.wordpress.com/2012/12/05/gstreamer-stream-h264-webcam-data-to-series-of-files/
- https://sourceforge.net/mailarchive/forum.php?thread_name=1350220802.54181.YahooMailRC%40web181405.mail.ne1.yahoo.com&forum_name=linux-uvc-devel
- The Guardian Project - Ostel
- http://www.collabora.com/projects/