Real-Time Video Coding: Difference between revisions

From WirelessAfrica
mNo edit summary
 
(59 intermediate revisions by 3 users not shown)
Line 18: Line 18:
|-
|-
!width="120" align="left"|Email:
!width="120" align="left"|Email:
| kferguson[at]csir.co.za
| [mailto:kferguson@csir.co.za kferguson@csir.co.za]
|-
|-
|}
|}
Line 27: Line 27:


13 March 2008    - Seminar at UKZN
13 March 2008    - Seminar at UKZN
14 May 2008      - Guest lecture on Video Coding at University of Pretoria


== Papers ==
== Papers ==
Line 32: Line 34:




== Free Downloads ==
== Downloads ==
A part of the objective of the Real-Time Video Coding group is to utilise open source frameworks and to contribute to the open source community as well as to provide source code that is available for general usage.
A part of the objective of the Real-Time Video Coding group is to utilise open source frameworks and to contribute to the open source community as well as to provide source code that is available for general usage.
Please send comments, feedback, suggestions to rtvc (at) meraka (dot) org (dot) za.
Please send comments, feedback, suggestions to '''rtvc[at]meraka.org.za'''.


'''DirectShow Filter Downloads'''
====DirectShow Filter Downloads====
DirectShow crop, scale, audio RTSP, RGB-YUV420 conversion filters can be downloaded from the sourceforge repository http://videoprocessing.sourceforge.net.


The following DirectShow filters are available for download as DLLs. These need to be registered using the regsvr32 command. Download the documentation below for more information about the filters.
[[Image:Download sfl1.png|left|150px|[http://videoprocessing.sourceforge.net]]]


{|
|-valign="top"
| ScaleFilter || The ScaleFilter is a DirectShow filter that can scale RGB24 media to specified target dimensions. || bgcolor="lightgreen" alink="white"| [[Media:ScaleFilter_v1.1.zip]]
|-valign="top"
| CropFilter || The CropFilter is a DirectShow filter that can crop RGB24 and RGB32 media. || bgcolor="lightgreen" | [[Media:CropFilter_v1.0.zip]]
|-valign="top"
| RGBtoYUV420Filter || This filter converts RGB24 or RGB32 media to a YUV4:2:0 Planar format whilst retaining the original VideoInfoHeader of the media. || bgcolor="lightgreen" | [[Media:RgbToYuvFilter_v1.0.zip]]
|-valign="top"
| YUV420toRGBFilter || This filter converts the custom packed YUV420 planar format back to RGB24. || bgcolor="lightgreen"| [[Media:YuvToRgbFilter_v1.0.zip]]
|-valign="top"
|}


'''Source Downloads'''


''Base classes and interfaces''
<!-- The following DirectShow filters are available for download as DLLs. These need to be registered using the regsvr32 command. Download the documentation below for more information about the filters.


DirectShow base classes and interfaces have been written which simplify the creation of a transform filter. The CCustomBaseFilter class provides a base class for filters with a single input and output pin.
{| border="0" cellpadding="5" cellspacing="0"
The MultiIOBaseFilter project provides support for writing DirectShow transform filters with multiple input and output pins such as multiplexers and demultiplexers.  
!align="left" |Filter
All Meraka RTVC filters inherit these base classes, which are available in the download. The base class have been compiled into a static library which the user can reference in the project.
!align="left" |Version
!align="left" |Description
|-
|[[Image:Download Icon.png|left|20px|Download Icon]] [[Media:ScaleFilter_v1.1.zip|'''ScaleFilter''']]
|v1.1
|The ScaleFilter is a DirectShow filter that can scale RGB24 media to specified target dimensions.
|-
|[[Image:Download Icon.png|left|20px|Download Icon]] [[Media:CropFilter_v1.3.zip|'''CropFilter''']]
|v1.3
|The CropFilter is a DirectShow filter that can crop RGB24 and RGB32 media.  
|-
|[[Image:Download Icon.png|left|20px|Download Icon]] [[Media:RgbToYuvFilter_v1.0.zip|'''RGBtoYUV420Filter''']]
|v1.0
|This filter converts RGB24 or RGB32 media to a YUV4:2:0 Planar format whilst retaining the original VideoInfoHeader of the media.
|-
|[[Image:Download Icon.png|left|20px|Download Icon]] [[Media:YuvToRgbFilter_v1.0.zip|'''YUV420toRGBFilter''' ]]
|v1.0
|This filter converts the custom packed YUV420 planar format back to RGB24.
|}
-->


''Filter Source Code''
====Source Downloads====
*'''Base classes and interfaces''' - DirectShow base classes and interfaces have been written which simplify the creation of a transform filter.
** The CCustomBaseFilter class provides a base class for filters with a single input and output pin.
** The MultiIOBaseFilter class provides support for writing DirectShow transform filters with multiple input and output pins such as multiplexers and demultiplexers. All Meraka RTVC filters inherit these base classes, which are available in the download. The base classes have been compiled into a static library.


The download also contains the source code for the above-mentioned scaling, cropping and color conversion filters.
*'''Filter Source Code'''
** Scale filter
** Crop filter
** RGB to YUV420 Planar filter
** YUV420 to RGB filter
** RTSP audio source filter which can play 8/16-nit PCM audio streams. This filter uses the open source live555 streaming media library to handle the RTSP/RTP aspects of streaming audio. This filter shows how the DirectShow framework can be combined with the live555 library to facilitate standard compliant streaming over the Internet. It can be can easily be extended to handle other media types such as mp3, video data etc.


''Image Utilities''
*'''Image Utilities''' - The ImageUtils folder contains source code for various image processing such as cropping, scaling, etc. These files have been compiled into a static library which is also referenced by filters that require such functionality.


The ImageUtils folder contains source code for various image processing such as cropping, scaling, etc. These files have been compiled into a static library which is also referenced by filters that require such functionality.
The entire source code is available at our subversion repository at sourceforge.net http://videoprocessing.sourceforge.net.
 
<!--
''DirectShow LiveMedia RTSP Live Audio Streaming Server''
{| border="0" cellpadding="5" cellspacing="0"
 
|[[Image:Download Icon.png|left|20px|Download Icon]] [[Media:RTVC_Source_v1.6.zip|'''Source Code v1.6''']]
This project provides an example as to how the DirectShow framework can be integrated with a RTP/RTCP/RTSP streaming library in order to stream live audio.
|[[Image:Download Icon.png|left|20px|Download Icon]] [[Media:Meraka DirectShow Library v1.1.pdf|'''Documentation''']]
 
|}
Source Code [[Media:RTVC_Source_v1.0.zip]] | Documentation [[Media:Meraka_DirectShow_Library_v1.0.zip]]
-->


== Links ==
== Links ==


'' DirectShow related''
*'''DirectShow related'''
 
**[http://blog.monogram.sk/janos/directshow-filters/ Blog containing free DirectShow filters and GraphStudio], which offers some improved functionality over GraphEdit
http://blog.monogram.sk/janos/directshow-filters/ - Blog containing free DirectShow filters and GraphStudio, which offers some improved functionality over GraphEdit
**[http://www.roujansky.com/ DirectShow training]


http://www.roujansky.com/ - DirectShow training
*'''RTP/RTCP/RTSP related'''
**[http://www.live555.com/liveMedia Live555 Streaming Media: Open source LGPL RTP/RTCP/RTSP library] that covers framing, sending of many media formats with a high level of importance based on standards. Main support via mailing list.


''RTP/RTCP/RTSP related''
*'''Consortium Wiki''' (secure login required)
**[http://t70026.meraka.org.za Consortium Wiki] This is the wiki for project information related to the Bandwidth Adaptive Real-Time Video Broadcasting over Internet project, known as ARTIST


http://www.live555.com/liveMedia - Open source RTP/RTCP/RTSP library that covers framing, sending of many media formats with a high level of importance based on standards. Main support via mailing list.
== Media ==
*[http://www.csir.co.za/researcher_profiles/Keith.html CSIR researcher profile series:] '''Streamlining delivery of internet video broadcasting'''
*[http://ntww1.csir.co.za/plsql/ptl0002/PTL0002_PGE157_MEDIA_REL?MEDIA_RELEASE_NO=7521912 DST-Innovation Fund investment boosts collaborative research on real-time video broadcasting project]
*[http://www.csir.co.za/enews/2008_aug/ic_07.html Innovation Fund investment boosts collaborative research on real-time video broadcasting project]

Latest revision as of 12:21, 26 March 2009

Background

The objective of the Real-Time Video Coding group is to research and develop intelligent multimedia software components and delivery systems that adapt to congested and low infrastructure network environments. The emphasis is on jointly-optimised or co-operative behaviour between the delivery context, as in real-time network conditions, and the video/audio encoder rate control mechanisms. Innovative solutions are sought to enhance the Internet video experience in a developing world context where bandwidth is a scarce resource.


Current research within the group is concentrating on optimal and weighted context-based bit allocation techniques and implementations within international standard video codecs. A scalable and bandwidth adaptive multimedia broadcasting platform is under development to encompass the novelty of the bit allocation research.


Contact Details

Contact Person: Dr Keith Ferguson
Tel: +27(0)12 841 4433
Fax: +27(0)12 841 4720
Email: kferguson@csir.co.za


Seminars

30 September 2007 - IEEE students seminar at UCT

13 March 2008 - Seminar at UKZN

14 May 2008 - Guest lecture on Video Coding at University of Pretoria

Papers

Papers will be available here once complete.


Downloads

A part of the objective of the Real-Time Video Coding group is to utilise open source frameworks and to contribute to the open source community as well as to provide source code that is available for general usage. Please send comments, feedback, suggestions to rtvc[at]meraka.org.za.

DirectShow Filter Downloads

DirectShow crop, scale, audio RTSP, RGB-YUV420 conversion filters can be downloaded from the sourceforge repository http://videoprocessing.sourceforge.net.

[1]
[1]



Source Downloads

  • Base classes and interfaces - DirectShow base classes and interfaces have been written which simplify the creation of a transform filter.
    • The CCustomBaseFilter class provides a base class for filters with a single input and output pin.
    • The MultiIOBaseFilter class provides support for writing DirectShow transform filters with multiple input and output pins such as multiplexers and demultiplexers. All Meraka RTVC filters inherit these base classes, which are available in the download. The base classes have been compiled into a static library.
  • Filter Source Code
    • Scale filter
    • Crop filter
    • RGB to YUV420 Planar filter
    • YUV420 to RGB filter
    • RTSP audio source filter which can play 8/16-nit PCM audio streams. This filter uses the open source live555 streaming media library to handle the RTSP/RTP aspects of streaming audio. This filter shows how the DirectShow framework can be combined with the live555 library to facilitate standard compliant streaming over the Internet. It can be can easily be extended to handle other media types such as mp3, video data etc.
  • Image Utilities - The ImageUtils folder contains source code for various image processing such as cropping, scaling, etc. These files have been compiled into a static library which is also referenced by filters that require such functionality.

The entire source code is available at our subversion repository at sourceforge.net http://videoprocessing.sourceforge.net.

Links

  • Consortium Wiki (secure login required)
    • Consortium Wiki This is the wiki for project information related to the Bandwidth Adaptive Real-Time Video Broadcasting over Internet project, known as ARTIST

Media