Media Support

Foreword
This page describes the level of media support that is provided by LibreOffice.

What media is supported?
The Summary can answer most of your questions!

Images
LibreOffice handles multiple image types; for most of them there is custom import/export code built directly into LO, and they work the same on all platforms.

There are very few formats for which external components are used:


 * JPEG - libjpeg (bundled in TDF builds, so always works)
 * EPS - a hacky import using various tools such as pstoedit, gs (GhostScript), convert (ImageMagick) which the user has to install; the EPS is converted by external tools either to EMF or to BMP for displaying

Audio/Video
It would be great if LibreOffice could use just one multimedia framework, but there is no good cross - platform multimedia framework that works with all codecs out of the box.

As a result, LibreOffice typically uses the media framework of each OS for video / audio playback.

On GNU/Linux we use GStreamer, on Windows we use DirectShow, and on macOS we use QuickTime (up to 10.8) or AVFoundation (10.9+).

If the media framework has appropriate file format codec support installed, then LibreOffice can playback a particular file.

This means that different OSes, or different versions of OSes (e.g. Debian vs. Fedora, or Win8 vs. WinXP) may support different sets of file formats.

Can I insert a video in portrait format?


This is not possible directly.

LibreOffice is based on the aspect ratio when displaying videos.

Workaround: A video recorded in portrait format can be rotated in a video editing program, for example, and filled up laterally when displayed in portrait mode.

Tests
For the nitty - gritty results of our testing, see the platform - specific test pages:


 * Media Support/Linux
 * Media Support/macOS
 * Media Support/Windows
 * Media Support/Android
 * Media Support/BSD - TODO: Someone to run tests?

For the files we use for testing, see
 * Media_Support/Test_Media

Test Procedures
For images, we currently perform three tests:


 * 1) "Inserts into Writer correctly?" - Does the file insert into Writer correctly?
 * 2) * Steps:
 * 3) ** Open Writer
 * 4) ** Menu: ->  (try to) select the test image file
 * 5) ** If the file inserts, does it display as expected?
 * 6) "Opens in Draw correctly?" - Does the file open and look reasonable in Draw?
 * 7) * Steps:
 * 8) ** Open LibreOffice
 * 9) ** Menu: -> (try to) select the test image file. Are there any error messages/problems?
 * 10) ** If the file opens, does it display as expected?
 * 11) "Output of file command" - What does the system's file command say about the document?
 * 12) * I know that both Linux and macOS systems have a version of the file command.
 * 13) * I believe that Windows does not have file, but other similar programs are available.
 * 14) * Steps:
 * 15) ** Open a text shell (command line)
 * 16) ** Run file 
 * 17) ** Record the output string in the table

VLC
We've hoped to be able to use libVLC on multiple platforms for media playback.

The general idea was to detect if VLC was installed on a system, and then dynamically link into its libraries.


 * There was a Google Summer of Code project to implement this on Windows.
 * There are some problems with this idea.
 * VLC is not ideal as a framework
 * As quality is not great, VLC support is not enabled / compiled-in by default.
 * As of August 2014, VLC is not enabled on Ubuntu, but seems to be enabled on Debian

Installation
If VLC support is enabled in your build of LibreOffice, you'll also need to have VLC installed.

You can download packages for Windows and Mac here:


 * https://videolan.org/

And use your package manager on GNU/Linux. For example on Ubuntu:

Support on other platforms
Builds of LibreOffice for other platforms (Android, iOS, etc..) generally use the media framework of the OS.

As we improve these builds, we'll fill in more information about them.