Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Beaglebone Media Center
Beaglebone Media Center

Beaglebone Media Center: A practical guide to transforming your BeagleBone into a fully functional media center

eBook
$14.99 $16.99
Paperback
$26.99
Subscription
Free Trial
Renews at $19.99p/m

What do you get with Print?

Product feature icon Instant access to your digital copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
Product feature icon Redeem a companion digital copy on all Print orders
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Shipping Address

Billing Address

Shipping Methods
Table of content icon View table of contents Preview book icon Preview Book

Beaglebone Media Center

Chapter 1. Transforming Your BeagleBone Black into a Media Server

Sharing files, watching movies, listening to music, and all the other media-related activities are abundantly proposed as Internet services. Any provider can propose an MP3 aside books and eggs; you have to choose among subscriptions that most of the time include items that you don't need or never use. The chapters in this book won't discuss these online services that, if you do the math, cost you a lot, including questioning your privacy, of course. Instead, you are going to be like these providers, and the best one too. Why the best? Because you are the person who is best placed to know what you need. Indeed, as you will know how to implement the services that please you, you'll have the functionalities that will suit you the most.

The choice that is not yours

I'm sure you'll prefer to select the applications you'll like to have at home instead of choosing among the fee subscriptions that providers impose on you.

Let's use an example: if you subscribe to Netflix or Spotify, you pay for the music or video titles you choose among their catalogs. It is obvious that these on-demand content providers offer an impressive choice, but this implies the following two major drawbacks.

You'll still be restricted by their proposals

As royalties to the majors are required, any media content supplier is forced to constantly pay the titles it offers. This is the reason why:

  • You might not be able to find a song
  • You might find a studio recorded version although you wanted the live version
  • Your music/movies selections might be removed from your playlist because the legal rights have changed

You hardly manage your own content

Although the ability to add personal files has been added recently, there are a few limitations, as follows:

  • You cannot perform a search in these topics or restrict a search to your collection
  • It also lacks a ranking by genre or composer, for enthusiasts of classical and film music
  • Artists' profiles still do not distinguish between studio albums, concerts, and compilations

Your server, your rules

The solution that we are going to implement is based on different software, according to our choices. I mean real choices. Quoting Wikipedia, a server can be defined as follows:

A server is a running instance of an application (software) capable of accepting requests from the client and giving responses accordingly. Servers can run on any computer including dedicated computers, which individually are also often referred to as "the server."

Powerful and straightforward software installations

That being said, you want a media server but you are not comfortable with these technologies, which might scare you or put you off. The applications used in this book are really straightforward to install and use; particularly, open source applications have been selected.

Using dedicated hardware

Additionally, we are going to use an embedded board instead of the heavy, large, and power-consuming PCs so that we can also drastically reduce the costs. While we will focus on BeagleBone Black in this book, the chapters have been written to use most of the boards available on the market, such as Raspberry Pi, WandBoard, CubieBoard, and some others, as long as the board supports Linux and has a network connection.

The main goal of this approach is that you learn to be independent enough so that the next time you receive a promotional e-mail with music streaming advertising, you'll throw it away, smiling proudly.

This chapter is about installing a MediaDrop server, which will be introduced shortly. As promised, it will be quite easy (really easy, in fact); no compilation or library will be invoked. Before the installation process itself, we will have a quick look at some situations that an embedded board is able to resolve. We will also find out why we should consider a server philosophy instead of a traditional computer. This will impact the remaining part of the book because the board will be accessed through an SSH connection; we will also have to take into consideration our available free space to store our applications and media contents. Then, we will start the installation part for the MediaDrop server itself. Management and security tasks have been split in additional chapters, so you can skip them and get back later if you want.

Welcome to the first step of your independence.

In this chapter, we will talk about the following topics:

  • Looking at daily scenarios for media usage
  • Down to the cave is a server without a head—headless servers
  • Preparing BeagleBone to be a server
  • Let's get acquainted with our friend – MediaDrop
  • MediaDrop installation steps
  • Testing time – "Hello Server"
  • Switching from development to production
  • Let's take a walk in our new MediaDrop server

Looking at daily scenarios for media usage

With some examples being more explicit than others, here's a sample of the situations you might already face or will face soon. Such a platform as MediaDrop can resolve them by nature:

  • You have been requested to build a media system that is able to display a presentation video clip of a product you intend to promote (in a market, company, and so on). A BeagleBone board with remote management will be handy, most of all if you have a lot of videos to handle.
  • From the precedent point, compare the different PC and BeagleBone budgets.
  • Your wife asked you to watch the latest TV show episode from Netflix, but she doesn't want to use any computer for it. Really?
  • As an employee, you want to improve yourself. Having access to e-learning would be a good thing. Does the local proxy server grant you access to such media-related things? A local device having access to local contents is so easy to deploy for each desktop.
  • A company wants its employees to use internal communication—easy and fast as podcasts by using the boards on the local network

Down in the cave is a server without a head – headless servers

Behind such a strange title are the motivations for the server that you will optimize needing to be headless. Even though BeagleBone is able to display GUIs, shiny graphics, and desktops, you need to get used to interacting with your server as if you are in a cave with limited light and no eye-candy gadgets. Here are some of the reasons why:

  • Resources: The most important reason is that a graphical desktop consumes the most amount of resources. Consider not only the GUI resources but also the graphical server it relies on; therefore, it needs more CPU, memory, and disk space.
  • Space: Our server can be physically anywhere. Thanks to its reduced dimensions, it is easy to put BeagleBone in a place and forget about it. This can be next to the desktop, behind your monitor, in a cupboard, and in your car as well.
  • Access and simplicity: If you need to get access to a server or maybe several servers, you will really not want to bother connecting to each dedicated server. If you need to administer 11 desktops, this will require you to connect to each one. On the other hand, by using a console environment, you are ensured having the same behaviors each time.

    Note

    Wait a minute! Just by taking a look back at the title and after all that has been said, the Addams Family might have used a BeagleBone server.

Among others, these reasons justify the time that you are going to spend on your experiments. It's worth it.

Preparing BeagleBone to be a server

As mentioned previously, we will use the BeagleBone Black embedded board for our experiments. It is assumed that you will have completed the following:

  • After visiting the Getting Started page (http://beagleboard.org/getting-started) and executing all the mentioned steps, the board will be just started and you will be connected to it. All through the book, the PuTTY program was used for this.
  • The board is using the current official bone-debian-7.5-2014-05-14-2gb, which is related to a 2 GB SD card (as shown in the next screenshot). Nevertheless, it's strongly advised that you use cards with a larger size and we'll soon see why.
  • Your board is identified in your local network; when required, we'll use the address 192.168.0.15, which you will need to adapt according to your local network. Most of the rooters provide a web interface for this purpose.
  • The default credentials are debian as the username and temppwd as the password.
    Preparing BeagleBone to be a server

Booting from an SD Card or flash (eMMC)

BeagleBone Black has the advantage of booting either from an SD card or on-board flash (eMMC). The pros and cons of each of these is beyond the scope of this chapter. Generally, for this book, you should rely on the SD card support for the following reasons:

  • You can use all the space you want without sacrificing any other partition: On flash, you are limited to the provided space, which is again limited by design.
  • You can change your mind whenever you want: If you want to install all the applications described in this book, you can either use different SD cards or buy a bigger one.
  • It is an error-proof solution: If you have never burnt any electronic device or broken the code, you should. Of course, not intentionally but because you pushed the limits. Many inventions have been found by accident, such as Penicillin, Teflon, and even Brownies and Tatin tart. So, if sometimes you are not able to boot the system, you will always have the possibility to get back to the situation you started with, using the SD card, by writing a new image to it.

    Tip

    Here's a reminder: in order to boot to the SD card, just power on the board and keep pressing the "user button," the one near the SD card.

The SD card induces small additional latencies that you won't even notice, so it is better to use it as a sandbox. So feel free to explore and try crazy things so that you can learn without limitations and worry.

Extending the root limitations on a fresh installation

If you update or install anything right away after a boot, you will encounter problems related to disk space.

Indeed, if you use PuTTY (www.putty.org) or any other SSH software to connect yourself to the board (such as, 192.168.0.15) and look at the rootfs space information, you can guess that the available size will be quickly saturated.

Extending the root limitations on a fresh installation

The SD card has little space left the first time

So, as the server administrator, it is up to you to resolve the size constraints.

Note

Like everyone else, you might want to use an SD card with a bigger size. This will produce exactly the same result as in the preceding figure, as you will use the same partition scheme.

The next topic will describe how you can achieve this task easily.

Extending your root's partition

The default free space is really small; for example, you can fill it completely with just one upgrade. As a result, the very first thing to do at boot is to resize the /root partition.

Resizing a partition is not recommended for first timers. The good news is that you won't have to enter many commands; you can make your life easy by relying on a dedicated script provided with the board, which will do all that for you.

Enter the following two commands:

debian@beaglebone:~$ cd /opt/scripts/tools/
debian@beaglebone:/opt/scripts/tools/$ git pull
Extending your root's partition

In this directory, we have downloaded the last code from the official repository, so we can start the script thereafter:

debian@beaglebone:/opt/scripts/tools/$ sudo ./grow_partition.sh

While running, this script will display a lot of details, which, thanks to the author, you don't have to care about.

Extending your root's partition

These are the commands that you won't have to learn

You can now go on to reboot your board (don't forget to press the user's button), as follows:

debian@beaglebone:/opt/scripts/tools/$ sudo reboot

Now, if you check, you'll see that the free space has been resized to the SD card's capabilities.

Extending your root's partition

An 8-GB resized SD card

Now, you can continue with the update and upgrade…

Tip

The local /root partition from the SD card is fast to implement and easy to use. Nevertheless, thinking about how you will organize your server is a good habit. Linux can handle multiple remote filesystems that you can write to. For instance, for all your media contents, you can use an NFS partition from a distant drive or a device that supports uPnP.

Let's get acquainted with our friend – MediaDrop

Through this chapter, we'll talk about a great project called MediaDrop (http://mediadrop.net/), which lets you manage music, movies, and podcasts through a nice web interface.

Mediadrop has all the features that a media server can offer, as follows:

  • HTML5 and Flash video
  • A CMS-like interface available from a browser and mobile devices (iPhone and Android)
  • Have as many users as you want, without any restrictions to access your content, unless you choose to have restrictions
  • User management with many capabilities, such as comment editor, like buttons, tags, and so on
  • Storage capability, which lets you choose where your file will be located
  • An administration-dedicated interface with easy access
  • Access roles capability
  • Social media sharing (Twitter, Facebook, and so on) and video/audio links possibility
  • It's open source, which means that you have access to the engine itself, you can improve it, or you can become a part of this community at https://github.com/mediadrop/mediadrop
  • The Mediadrop platform can be extended through Python scripts

MediaDrop installation steps

The following sections will take you through the installation of Mediadrop.

BBB Debian – prerequisites

Now that your system is ready to accept all the applications you want to install, let's begin with the MySQL part:

debian@beaglebone:~$ install mysql-server mysql-client

Note

Actually, sudo apt-get install works behind the scenes. From this point onwards, we'll rely on aliases to ease our life from the command line. Refer to the Appendix to get all the details.

During this you'll be asked for the database's root password, then the remaining system files:

debian@beaglebone:~$ install libjpeg-dev zlib1g-dev libfreetype6-dev libmysqlclient-dev python-dev

Finally, the Python-related requirements that will help you in virtual environments can be installed using the following command:

debian@beaglebone:~$ install python-setuptools python-virtualenv

With system requirements in place, you can set up MediaDrop in just six installation steps. Before doing that, you need to define a database for it.

Setting up a dedicated database

You need to create some credentials and assign a user to a new MediaDrop database. It requires you to type only a few commands. If this is something that you don't want to do, the script is available on the GitHub companion website at https://github.com/dlewin/BeagleboneBlack-Server-Book.

Just execute the following command:

./create_mediadropdb.sh

Instead, if you are like me and want to control your entire system, then open a MySQL console, and pay attention to the syntax of the following command (with the ;):

debian@beaglebone:~$ mysql –u root –p

Then, fill in the password you have defined in the installation steps.

You will now have access to the MySQL console for all the database operations that MediaDrop requires. Now, perform the following steps:

  1. Create your user with a password:
    create user 'debian'@'localhost'IDENTIFIED BY 'temppwd';
    
  2. Create the MediaDrop database; pay attention to the use of capital letters:
    create database MediaDrop;
    
  3. Now, we tell that we want to work on this database:
    use MediaDrop;
    
  4. Set some rights on this database for the debian user:
    grant create,insert,update,select,delete on MediaDrop.* to debian@localhost;
    
    exit
    

Here's a screenshot that shows these operations along with the related MySQL feedback you should get:

Setting up a dedicated database

Step 1 – set up a Python virtual environment

MediaDrop has been programmed in Python, a simple but powerful language that we'll also use in Chapter 6, Illuminate Your Imagination with Your Own Projects. As plugins are also in Python, you are free to extend the platform as you wish.

Let's see how to define a dedicated environment for this purpose.

Step 1 – set up a Python virtual environment

Virtual environments introduce a functionality provided with Python that I like to use: actually, with this functionality, you can resolve the problems of software versions and incompatibility. The principle is to use as many virtual spaces with different packages or executables as you want without any confusion that might create a broken system. Thanks to the isolation provided by this tool, you are guaranteed that it is kept as you want it to be and thus you always have a safe system.

Note

If you want to know more about virtualenv, take a look at https://virtualenv.readthedocs.org/en/latest/. There is also a virtualenvwrapper that is intended to ease the creation and deletion of many virtual environments at https://virtualenvwrapper.readthedocs.org/en/latest/.

Currently, we are using the 0.10.3 version of MediaDrop, but nothing stops you from trying the next version in order to test any side effects on your architecture. Thus, instead of executing the current environment, you'll just have to start MediaDrop from the n+1 environment.

Virtual environment is presented just here, but you should create an environment each time you need different usages of an application or dependencies. It requires just less than a minute and can be done by performing the following steps:

  1. Create the environment with a specific name; in our case, venv:
    debian@beaglebone:~$ virtualenv --distribute venv
    
  2. Enter the dedicated virtual environment:
    debian@beaglebone:~$ source venv/bin/activate
    

That's all! You are in now. Cool, eh?

The command prompt is preceded by the virtual environment's name, so you can guess which environment is currently activated, which is shown in the screenshot that follows the code:

(venv)debian@beaglebone:~$
Step 1 – set up a Python virtual environment

You can now install any package you want; it will only be accessible in the currently activated environment.

Step 2 – installing MediaDrop

For installation, retrieve the last stable release from downloads:

(venv)debian@beaglebone:~$ mkdir MediaDrop
(venv)debian@beaglebone:~$ cd MediaDrop
(venv)debian@beaglebone:~/MediaDrop$ wget http://static.mediadrop.net/releases/MediaCore-0.10.3.tar.gz

Note

You can find all the releases at http://static.mediadrop.net/releases/.

Then, perform the following steps:

  1. Extract the archive:
    (venv)debian@beaglebone:~/MediaDrop$ tar xvzf MediaCore-0.10.3.tar.gz
    
  2. Enter the new directory to launch the installation script:
    (venv)debian@beaglebone:~/MediaDrop$ cd MediaCore-0.10.3
    
    (venv)debian@beaglebone:~/MediaDrop/MediaCore-0.10.3$ python setup.py develop
    
  3. This will take a few minutes, as it checks and downloads the required dependencies, and will end with the following lines:
    Finished processing dependencies for MediaCore==0.10.3
    
    (venv)debian@beaglebone:~/MediaDrop/MediaCore-0.10.3$ cd ..
    
    (venv)debian@beaglebone:~/MediaDrop$
    
  4. From here, the recommended installation is to enter the following:
    (venv)debian@beaglebone:~/MediaDrop$ paster make-config MediaCore production.ini
    

This will generate the production.ini file, which the server will use as a configuration file. So, we can adapt by editing it.

Step 3 – basic configuration file

What we want to do here is tell which database we created and the related credentials. So, edit the production.ini file, with nano (or vim) in order to focus on the [app:main] section, as we want to change the following line:

sqlalchemy.url = mysql://username:pass@localhost/dbname?charset=utf8&use_unicode=0

The settings are shown in the following screenshot:

Step 3 – basic configuration file

At the same time, as port 8080 is already used, let's change this to an available port, something such as 8082. As you'll see later on, many servers use the 8080 port for their configuration settings, and obviously only one application will be able to use this port, which means that according to your configurations, you will have to decide which application will use the 8080 port.

Note

Additionally, you can eventually customize your configuration file with an e-mail that will let you receive notifications from the server. You will then need to install a local SMTP server and apply the settings in this production.ini file at the [DEFAULT] section.

Now, save and quit the editor. We are done with the configuration part.

Step 4 – copying content from the initial data

We have completed all the configuration steps, and we are now going to deploy all the website data content.

To do this, copy the data directory from the sources to be at the same level as your production.ini file:

(venv)debian@beaglebone:~/MediaDrop$ cp -a MediaCore-0.10.3/data/.

Give it the write permissions for the debian user; when some content is uploaded, it will be written here:

(venv)debian@beaglebone:~/MediaDrop$ chmod 666 data

Step 5 – filling the server database and contents

It's now time to fill the MediaDrop database we've created previously with some tables and required data. We just have to call a predefined command:

(venv)debian@beaglebone:~/MediaDrop$ paster setup-app deployment.ini

Step 6 (optional) – full-text searching

Create some triggers that will allow you to have better searches than exact matches, as follows:

(venv)debian@beaglebone:~/MediaDrop$ mysql -u root -proot MediaDrop < MediaCore-0.10.3/setup_triggers.sql

Nothing else is remaining; we are in. Time to start our first server!

Testing time – "Hello Server"

You have a server that is waiting to be started locally:

(venv)debian@beaglebone:~/MediaDrop$ paster serve --reload production.ini
source env/bin/activate
Testing time – "Hello Server"

You need to wait for the last line to be displayed before you move on, which means that the server is ready to answer the request.

Note

Take the example of your command, which ends with the following line of code:

IOError: [Errno 2] No such file or directory: '/home/debian/production.ini'

You might not be in the good path; using the ls command, check whether the production.ini file exists in the current directory.

Now, from anywhere on your local network, enter the address of your board with the defined port—for me, it's 192.168.0.15:8082.

Welcome to your own new world; you should see the home page, as shown in the following screenshot:

Testing time – "Hello Server"

This is more than just a simple welcome screen; you also have some interesting videos that show you how to use your contents as well as how to add videos and podcasts, with examples.

You can even try and upload content right now if you want.

Note

Currently, the server has been started manually. In Chapter 4, Getting Your Own Video and Feeds, we will see how to start the streaming service automatically on boot. This is a way to customize the boot process so that you know how to add a service such as MediaDrop at the start.

Left arrow icon Right arrow icon

Description

Whether you are a hobbyist or a professional, this book will get you fully equipped to resolve the most commonly occurring media-related challenges. If you want to expand your horizons beyond lighting an LED and push the limits of your board, this is just the book for you. Working knowledge of BeagleBone is assumed.

Who is this book for?

Whether you are a hobbyist or a professional, this book will get you fully equipped to resolve the most commonly occurring media-related challenges. If you want to expand your horizons beyond lighting an LED and push the limits of your board, this is just the book for you. Working knowledge of BeagleBone is assumed.
Estimated delivery fee Deliver to United States

Economy delivery 10 - 13 business days

Free $6.95

Premium delivery 6 - 9 business days

$21.95
(Includes tracking information)

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Jan 31, 2015
Length: 164 pages
Edition : 1st
Language : English
ISBN-13 : 9781784399993
Vendor :
BeagleBoard.org
Category :
Languages :
Tools :

What do you get with Print?

Product feature icon Instant access to your digital copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
Product feature icon Redeem a companion digital copy on all Print orders
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Shipping Address

Billing Address

Shipping Methods
Estimated delivery fee Deliver to United States

Economy delivery 10 - 13 business days

Free $6.95

Premium delivery 6 - 9 business days

$21.95
(Includes tracking information)

Product Details

Publication date : Jan 31, 2015
Length: 164 pages
Edition : 1st
Language : English
ISBN-13 : 9781784399993
Vendor :
BeagleBoard.org
Category :
Languages :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
$19.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
$199.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts
$279.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total $65.96 $73.97 $8.01 saved
Beaglebone Media Center
$26.99
BeagleBone Black Cookbook
$48.99
Android Hardware Interfacing with the BeagleBone Black
$26.99
Total $65.96$73.97 $8.01 saved Stars icon

Table of Contents

9 Chapters
1. Transforming Your BeagleBone Black into a Media Server Chevron down icon Chevron up icon
2. Media Management, Shares, and Social Activities Chevron down icon Chevron up icon
3. Examples of Real-world Situations Chevron down icon Chevron up icon
4. Getting Your Own Video and Feeds Chevron down icon Chevron up icon
5. Building Your Media Player Chevron down icon Chevron up icon
6. Illuminate Your Imagination with Your Own Projects Chevron down icon Chevron up icon
A. Troubleshooting and Tricks to Improve Your Server Chevron down icon Chevron up icon
B. Ideas to Improve Your Server Chevron down icon Chevron up icon
Index Chevron down icon Chevron up icon

Customer reviews

Rating distribution
Full star icon Full star icon Full star icon Full star icon Half star icon 4.5
(2 Ratings)
5 star 50%
4 star 50%
3 star 0%
2 star 0%
1 star 0%
Daniel Sep 16, 2015
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Très pédagogique : l'art de rendre simple et attrayante une technologie qui semble réservée aux spécialistes. Donne une très bonne idée de tout ce qu'on peut faire, et à faible coût, avec une carte BeagleBone !
Amazon Verified review Amazon
Michael0310 Jun 19, 2015
Full star icon Full star icon Full star icon Full star icon Empty star icon 4
Introduction============The book BeagleBone Media Center by David Lewin is delivered as a guide on how to use the BeagleBone or BeagleBone Black from BeagleBoard.org and open source software packages to create a media center that you own and control. The author argues that this can be useful for personal use as well as business.Chapter Overview============This book is organized into six chapters.The first three chapters are basic motivation and introduction, including installation and usage instructions for MediaDrop which is the open source software of choice for powering the media center.Chapter 4 is a detailed section on setting up your BeagleBone Black, webcam, and MediaDrop software to support webcam streaming. I don't know if this really fits with the theme of a "Media Center" but it was a really cool and seemingly useful project either way. This was probably my favorite chapter.Chapter 5 is the only chapter that is truly BeagleBone specific and described some of the more relevant capes (add on hardware) available for the BeagleBone as well as how to install and use Android OS on the board.The final chapter closes with an encouragement to use your creativity and come up with your own projects. While I love and completely agree with the sentiment, the project example given (controlling an LED matrix through a client server connection with a Qt based GUI on the client) doesn't really seem like a good fit. I don't see how that project is related to media center usage and the author never clarifies this connection. I believe it would have been much more useful if the author showed how to do something like set up a GUI client for controlling media playback on the server for example.Pros============- Easy to follow examples.- Emphasis on Open Source.- MediaDrop (the chosen software) is Python based which makes it easy to extend for your own purposes.- Even though the book is marketed as a BeagleBone Black specific book it would would nearly as well for any single-board computer.- Author provided some interesting use cases that I hadn't considered to be typical for "media centers".Cons============- The author often fails to really provide sufficient motivation.- There are typos scattered throughout, none of them are major and they don't affect any of the examples but the book could have used another editing pass.- The author is not a native english speaker. I began to have suspicions early on due to some strange sentence structures and word choices, my suspicion was later confirmed in a screenshot in which the primary language is French. This will likely not be an issue if you are also not a native English speaker but it did cause some parts of the book to be more confusing than necessary for me.Conclusion============Overall, the book reads as an in depth user guide for MediaDrop on an embedded platform. Most of the examples are not specific to the BeagleBone and could easily be adapted for use on other systems. While there are some typos and strange sentence structures, the book is generally an easy read and the examples are very clear and easy to follow. I recommend BeagleBone Media Center if you are looking for an easy to follow guide on how to get your BeagleBone set up as a media hub.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is the digital copy I get with my Print order? Chevron down icon Chevron up icon

When you buy any Print edition of our Books, you can redeem (for free) the eBook edition of the Print Book you’ve purchased. This gives you instant access to your book when you make an order via PDF, EPUB or our online Reader experience.

What is the delivery time and cost of print book? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela
What is custom duty/charge? Chevron down icon Chevron up icon

Customs duty are charges levied on goods when they cross international borders. It is a tax that is imposed on imported goods. These duties are charged by special authorities and bodies created by local governments and are meant to protect local industries, economies, and businesses.

Do I have to pay customs charges for the print book order? Chevron down icon Chevron up icon

The orders shipped to the countries that are listed under EU27 will not bear custom charges. They are paid by Packt as part of the order.

List of EU27 countries: www.gov.uk/eu-eea:

A custom duty or localized taxes may be applicable on the shipment and would be charged by the recipient country outside of the EU27 which should be paid by the customer and these duties are not included in the shipping charges been charged on the order.

How do I know my custom duty charges? Chevron down icon Chevron up icon

The amount of duty payable varies greatly depending on the imported goods, the country of origin and several other factors like the total invoice amount or dimensions like weight, and other such criteria applicable in your country.

For example:

  • If you live in Mexico, and the declared value of your ordered items is over $ 50, for you to receive a package, you will have to pay additional import tax of 19% which will be $ 9.50 to the courier service.
  • Whereas if you live in Turkey, and the declared value of your ordered items is over € 22, for you to receive a package, you will have to pay additional import tax of 18% which will be € 3.96 to the courier service.
How can I cancel my order? Chevron down icon Chevron up icon

Cancellation Policy for Published Printed Books:

You can cancel any order within 1 hour of placing the order. Simply contact customercare@packt.com with your order details or payment transaction id. If your order has already started the shipment process, we will do our best to stop it. However, if it is already on the way to you then when you receive it, you can contact us at customercare@packt.com using the returns and refund process.

Please understand that Packt Publishing cannot provide refunds or cancel any order except for the cases described in our Return Policy (i.e. Packt Publishing agrees to replace your printed book because it arrives damaged or material defect in book), Packt Publishing will not accept returns.

What is your returns and refunds policy? Chevron down icon Chevron up icon

Return Policy:

We want you to be happy with your purchase from Packtpub.com. We will not hassle you with returning print books to us. If the print book you receive from us is incorrect, damaged, doesn't work or is unacceptably late, please contact Customer Relations Team on customercare@packt.com with the order number and issue details as explained below:

  1. If you ordered (eBook, Video or Print Book) incorrectly or accidentally, please contact Customer Relations Team on customercare@packt.com within one hour of placing the order and we will replace/refund you the item cost.
  2. Sadly, if your eBook or Video file is faulty or a fault occurs during the eBook or Video being made available to you, i.e. during download then you should contact Customer Relations Team within 14 days of purchase on customercare@packt.com who will be able to resolve this issue for you.
  3. You will have a choice of replacement or refund of the problem items.(damaged, defective or incorrect)
  4. Once Customer Care Team confirms that you will be refunded, you should receive the refund within 10 to 12 working days.
  5. If you are only requesting a refund of one book from a multiple order, then we will refund you the appropriate single item.
  6. Where the items were shipped under a free shipping offer, there will be no shipping costs to refund.

On the off chance your printed book arrives damaged, with book material defect, contact our Customer Relation Team on customercare@packt.com within 14 days of receipt of the book with appropriate evidence of damage and we will work with you to secure a replacement copy, if necessary. Please note that each printed book you order from us is individually made by Packt's professional book-printing partner which is on a print-on-demand basis.

What tax is charged? Chevron down icon Chevron up icon

Currently, no tax is charged on the purchase of any print book (subject to change based on the laws and regulations). A localized VAT fee is charged only to our European and UK customers on eBooks, Video and subscriptions that they buy. GST is charged to Indian customers for eBooks and video purchases.

What payment methods can I use? Chevron down icon Chevron up icon

You can pay with the following card types:

  1. Visa Debit
  2. Visa Credit
  3. MasterCard
  4. PayPal
What is the delivery time and cost of print books? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela