[Announce] Release of the DCCP Plugin 0.5 for GStreamer
Hello list!
I'm pleased to announce the second version (v0.5) of the DCCP
GStreamer Plugin. Please, let me know if you have any problem on
running the plugin, suggestions and improvements that you provided for
the plugin. The good news is that we used versions v0.4 and v0.5 to
stream multimedia contents over Internet and the plugin worked
according what was expected.
What is GStreamer?
===============
GStreamer [1] is a library that allows the construction of graphs of
media-handling components, ranging from simple Ogg/Vorbis playback to
complex audio (mixing) and video (non-linear editing) processing.
Applications can take advantage of advances in codec and filter
technology transparently. Developers can add new codecs and filters by
writing a simple plugin with a clean, generic interface. GStreamer is
released under the LGPL.
What is DCCP?
============
The Datagram Congestion Control Protocol (DCCP) [2] is a transport
protocol that provides bidirectional unicast connections of
congestion-controlled unreliable datagrams. DCCP is suitable for
applications that transfer fairly large amounts of data and that can
benefit from control over the tradeoff between timeliness and
reliability.
It is a message-oriented transport layer protocol that implements
reliable connection setup, teardown, ECN, congestion control, and
feature negotiation. It was published as RFC 4340 by IETF in March,
2006. Linux had an implementation of DCCP since version 2.6.14 and
this continues to improve with each release. The latest official
version of the DCCP code can be found at [3] and at [4].
What is DCCP Plugin for GStreamer?
===========================
It is a plugin that allows transfer data over the network via DCCP
for GStreamer. According to all the tests that we proceeded, the
plugin is able to stream audio files, such as mp3, audio captured from
the microphone and raw data files.
Output of gst-inspect for the dccp plugin
=============================
# gst-inspect dccp
Plugin Details:
Name: dccp
Description: transfer data over the network via DCCP.
Filename: /usr/gstreamer//lib/gstreamer-0.10/libgstdccp.so
Version: 0.10.0.5
License: LGPL
Source module: gst-plugin
Binary package: DCCP
Origin URL: http://garage.maemo.org/projects/ephone
dccpserversrc: DCCP server source
dccpclientsink: DCCP client sink
dccpserversink: DCCP server sink
dccpclientsrc: DCCP client source
4 features:
+-- 4 elements
TODO List
========
- Make DCCP plugin works with Speex and RTP to transport audio
captured from microphone using ALSA GStreamer Plugin
- Improve the implementation of the send mechanism adding the
Paraslash solution based on queue
- Make internal elements share the socket fd between two elements
- Implement multidccp, a multithread way to stream media for a set of hosts
CHANGELOG
==========
* Bugs fixes related to socket handle
* Code refactoring
How to contribute?
==============
Please, contact me at leandroal [at] gmail [dot] com
Where is DCCP Plugin?
=================
The DCCP plugin for GStreamer is under version control of the
E-Phone. The E-Phone (Embedded-Phone) project aims to develop a VoIP
client for Maemo platform based on DCCP transport protocol. In this
project we are also implementing the CCID-4 [5] IETF drafts on the
linux kernel.
Development:
http://garage.maemo.org/projects/ephone
Mailing list:
http://garage.maemo.org/pipermail/ephone-discuss/
Download:
https://garage.maemo.org/frs/?group_id=297
or directly from
https://garage.maemo.org/frs/download.php/3800/gst-dccp-0.5.tar.bz2
How to use it with gst-launch command line?
=================================
A basic example to stream a multimedia file using ccid-3:
* Server:
gst-launch -v filesrc location=music.mp3 ! mp3parse ! dccpserversink
port=9011 ccid=2
* Client:
gst-launch -v dccpclientsrc host=localhost port=9011 ! decodebin ! alsasink
-- We also tested with mpg123, to use it: mpg123 dccp://localhost:9011
Please, refer to the src/examples_app/README file for more examples.
Is there any application examples?
=========================
Yes, refer to the examples_app directory of the source file.
Requirements
==========
- Linux Kernel with DCCP enabled
- GStreamer
- Additional GStreamer Plugins to make the example app works
Best regards,
Leandro.
References:
[1] http://gstreamer.freedesktop.org/
[2] http://www.read.cs.ucla.edu/dccp/
[3] git://git.kernel.org/pub/scm/linux/kernel/git/acme/net-2.6.25.git
[4] git://eden-feed.erg.abdn.ac.uk/dccp_exp
[5] http://tools.ietf.org/html/draft-ietf-dccp-ccid4-01
--
Leandro Melo de Sales.
Pervasive and Embedded Computing Laboratory
BRisa and E-Phone Projects Manager
Network Admin @ http://embedded.ufcg.edu.br/indexen.html
+55 83 3310-1404 (extension 208)
http://www.leandrosales.com/
[Kernel List]
[Linux DCCP]
[IETF Annouce]
[Linux Networking]
[Git]
[Security]
[Linux Assembly]
[Bugtraq]
[Photo]
[Yosemite]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Linux SCSI]
[DDR & Rambus]
[Linux Resources]