DLNA Media Server Virtual Appliance

From Yocto Project
(Difference between revisions)
Jump to: navigation, search
Line 12: Line 12:
 
== Arhitecture design ==
 
== Arhitecture design ==
  
A basic requirement of the system is represented by
+
A basic requirement for the application is giving a minimal solution that meets all the tehnical specifications. That is why the Media Server application was designed to be a headless image. This means that after the system boots a console will automatically pop up.
 
+
[[File:MediaServer Terminal.png|thumb|upright=1.5|Media Server with Rygel]]
 +
 
== Package dependencies ==
 
== Package dependencies ==
 
===== Rygel =====
 
===== Rygel =====

Revision as of 04:35, 6 September 2012

A DLNA Media Server is a device that stores media content that can be accessed by media players and rederers found in the same local network. The goal of the project was creating a minimal solution to meet theese requirements. This was achieved using the tools provided by the yocto project through the creation of the meta-dlna layer.

A practical example of how the Media Server using Rygel package is seen by a renderer Media Player.

Contents

Introduction

Poky is a platform-independant layer that provides useful features and functionalities for embedded solutions. A Quick Start Guide and further information can be found on the main page of the Poky Project. The functionality of the Media Server was implemented as a new layer, the meta-dlna layer, which can easily be integrated over any poky distribution. Stability and reliability was achieved by using the denzil branch of the yocto project.
[TODO] - KVM

Arhitecture design

A basic requirement for the application is giving a minimal solution that meets all the tehnical specifications. That is why the Media Server application was designed to be a headless image. This means that after the system boots a console will automatically pop up.

Media Server with Rygel

Package dependencies

Rygel

The solution was build around rygel, an application used for media content sharing on a home network. Rygel implements its functionality through a plugin mechanism.

Tracker plugin

Tracker reprezents a data storage for devices that keeps semantic metadata about files and folders and enables data sharing throughout a local network.

MediaExport plugin

The MediaExport plugin exports files and folders over the network. This solution was preferred to Tracker because it represents a more lightweight alternative and meets to all project requirements.
[TODO] - KVM

How to integrate DLNA to a poky distribution

The meta-dlna layer was created using the combo-layer tool. To enable it, follow the next steps:

  • Copy the meta-dlna folder into the root directory of a poky distribution. Cd into the poky folder.
  • Add the layer to build/conf/bblayers.conf:
[...]
BBLAYERS="
         $POKY_HOME/meta-dlna/meta-guacamayo
[...]
  • Add some extra features to build/local.conf:
[...]
DISTRO_FEATURES = "ext2 largefile usbhost xattr nfs zeroconf pci ${DISTRO_FEATURES_LIBC} x11" 
[...]
  • source the oe-init-env script
  • build the image using the guacamayo-image-mediaserver target
bitbake guacamayo-image-mediaserver [TODO] 

For testing purposes, demo content can be added by inserting the following line into build/conf/local.conf:

[...]
IMAGE_FEATURES_append = " guacamayo-demos"
[...]
Personal tools