Restricted formats

From OLPC
Revision as of 01:26, 2 October 2014 by Quozl (talk | contribs) (→‎MP3)
Jump to navigation Jump to search
  This page is monitored by the OLPC team.
This page describes third-party software that does not meet the OLPC standards for software freedom. The use of such software is unsupported; OLPC does not endorse or encourage its use.
See the Ubuntu RestrictedFormats page for more ideas.

In some jurisdictions, patents on algorithms apply and royalty payments may be required. Examples include MP3, and MPEG-4. This is a particular nuisance for media players, for which many of the common codecs algorithms are patented. In other jurisdictions, software patents do not apply and there are usually freely available implementations for these algorithms available.

Sometimes, as in Adobe Flash®, or the Real Helix® player there are free (as in beer) implementations available, where those corporations have paid these patent royalties and made usually (binary) versions of codecs available. This has direct consequences as OLPC does not want to burden all machines with payment of what may be unnecessary duplicate patent royalties: OLPC must therefore leave the customization of the distribution for these formats for "in country". For jurisdictions in which such patent laws apply, there are now solutions such as those sold by Fluendo to these issues.

The Flash format (whether Adobe's Flash 9 or Gnash) illustrates this problem well; even though we include Gnash, we distribute a build that does not have support for MP3 or MPEG-4; you may rebuild Gnash to include these codecs.


  For the general public

Instructions for installing software for dealing with web-based multimedia such as Flash and Java applets using proprietary players or codecs are found below. You use the Terminal activity to install these tools.

MP3

Add "non-free" packages that implement additional codecs. See GStreamer#MP3

Rebuilding Gnash for MP3 and MPEG-4 support

The source code for the OLPC system software is available. You can rebuild it to include MP3 support: when configuring Gnash, use the following option:

./configure --enable-media=ffmpeg

Adobe Flash

Browse uses the Gnash plug-in which has some ability to render animations in .swf files.

To install the Adobe Flash player, go to the Adobe Flash page for detailed instructions.

Proprietary code bundle for the Helix player

See the Helix media activity page for details.

Sun Java

Sun Java's size (the SDK "on disk" size is 75 megabytes and its memory consumption is large) makes it difficult to swallow. We are investigating other Java implementations as they mature, and the BTest-3 systems and after will have 1GB of flash.

OpenJDK alternative

OpenJDK is an unrestricted open version of Java available for Linux, but not for the Fedora 7 code underlying 2007 and Update.1 builds; see Java#Installing_OpenJDK_Java. Note: the java plug-in provided by OpenJDK works with the Web.Activity browser (2008-08-27 using build 8.2-756).

Sun Java issues

Note that jre1.5.0_13 has been known to work, while jre-6u3 does not work on the XO.

Java plugin does not work

The java browser plugin in Sun Java does not work in either jre1.5.0_13 or jre-6u3. (See <trac>6465</trac> and <trac>865</trac>.)

Installing Sun Java

You cannot download a Java RPM directly from Sun. You need to follow the somewhat more convoluted steps outlined below:

1. Get the Java RPM:

1.1 On an non-XO machine, go to http://java.sun.com/products/archive/j2se/5.0_13/index.html and click the "Download JRE" link.

1.2 On the webpage which follows, click "Accept License Agreement", find the section title: "Linux Platform - Java Runtime Environment 5.0 Update 13", and right-click or ctrl-click (mac) the "Linux RPM in self-extracting file" link to save the file named jre-1_5_0_13-linux-i586-rpm.bin

[As of 9 Apr 08 that version no longer seems to be available. Whether I use the right-click save-as, or just click the link, or use the Sun Download Manager option that appears in IE, both the rpm file and the plain bin option arrive as a 15 byte file containing "File not found." I don't see them anywhere else on the web, either. Maybe 1_5_0_15 would work?] -> jre1.5.0_15 works with both Opera 9.52 and Processing-0148 on OS 711. Doesn't appear on browse activity

what I found,...

jre-1_5_0_13-linux-i586-rpm

Hello, For security reasons, you may only download any file once per transaction (a "transaction" is a single session on the SDLC, from login to download). If your download fails part way through, just click the same link again. However, if the system records that you have completed the download, the link will be disabled. If you need to download the file again please start again from the referring page that brought you into the SDLC (usually the product page with a "download now" link on it). You can download a product as many times as you like, but only once per transaction. Thank you for your interest in Sun! Regards, Silvia Hernandez Sun Customer Support

>>> LINK >>> http://java.sun.com/products/archive/

Java 2 Platform Standard Edition (J2SE) JDK/JRE - 6 JDK/JRE - 5.0 ...5.0 Update 14 ...Arrow down 1 to ...5.0 Update 13...

It IS there!


1.3 Copy the file (jre-1_5_0_13-linux-i586-rpm.bin) to a USB stick

1.4 Insert the USB memory stick in the XO;

1.5 From the Terminal activity, copy the file off of the USB stick:

cp /media/yourUSBdisk/jre-1_5_0_13-linux-i586-rpm.bin ./

where yourUSBdisk is the name of your USB stick. If you don't know the name, you can find out by typing:

df

You'll see a list of file systems. Your USB stick is the one "Mounted on" /media.

2. Change the file permissions on the Java file

chmod a+x jre-1_5_0_13-linux-i586-rpm.bin

3. Run the self-extracting file:

su -
cd /home/olpc
./jre-1_5_0_13-linux-i586-rpm.bin
exit

4. Link to the Java plugin from the Mozilla plugin directory:

su -
cd /usr/lib/mozilla/plugins
ln -s /usr/java/jre1.5.0_13/plugin/i386/ns7/libjavaplugin_oji.so
exit

(Take care to check that the filenames in the above commands match those that you download: copying these instructions in their entirety will not work since the filenames change as Sun issues new releases.)

You can check which browser plugins you have installed by visiting the page "about:plugins" in the Browse activity.