View Source

h2. Description
PDFs may contain multimedia content: movies, sound and 3D content.

h2. Risks
Rendering of multimedia content may depend on external applications that may not
be available in the future; the format in which multimedia content is stored may become obsolete.

h2. Assessment
The following table shows the relevant output of _Apache Preflight_ (part of [Apache PDFBox]) for PDFs that contain multimedia. Results obtained with _Preflight_ 2.0.0:

|*Reference file*|*Description*|*Error Code(s)*|*Details*|
|[embedded_video_avi.pdf|http://www.opf-labs.org/format-corpus/pdfCabinetOfHorrors/embedded_video_avi.pdf]|Contains embedded AVI movie|5.2.1; 1.2.9|Forbidden field in an annotation definition, The subtype isn't authorized : Screen; Body Syntax error, EmbeddedFile entry is present in a FileSpecification dictionary|
|[embedded_video_quicktime.pdf|http://www.opf-labs.org/format-corpus/pdfCabinetOfHorrors/embedded_video_quicktime.pdf]|Contains embedded Quicktime movie|5.2.1; 1.2.9|Forbidden field in an annotation definition, The subtype isn't authorized : Screen; Body Syntax error, EmbeddedFile entry is present in a FileSpecification dictionary|
|[20020402_CALOS.pdf|http://acroeng.adobe.com/Test_Files/classic_multimedia//20020402_CALOS.pdf]|From Multimedia & 3D Tests on Adobe Acrobat Engineering website|5.2.1; 6.2.5|Forbidden field in an annotation definition, The subtype isn't authorized : Movie; Action is forbidden, The action Movie is forbidden|
|[Jpeg_linked.pdf|http://acroeng.adobe.com/Test_Files/classic_multimedia//Jpeg_linked.pdf]|From Multimedia & 3D Tests on Adobe Acrobat Engineering website|5.2.1|Forbidden field in an annotation definition, The subtype isn't authorized : Screen|
|[MultiMedia_Acro6.pdf|http://acroeng.adobe.com/Test_Files/classic_multimedia//MultiMedia_Acro6.pdf]|From Multimedia & 3D Tests on Adobe Acrobat Engineering website|5.2.1|Forbidden field in an annotation definition, The subtype isn't authorized : Screen|
|[VolvoS40V50-Full.pdf|http://acroeng.adobe.com/Test_Files/classic_multimedia//VolvoS40V50-Full.pdf]|From Multimedia & 3D Tests on Adobe Acrobat Engineering website|6.2.6|Action is forbidden, The action Rendition is undefined|
|[movie.pdf|http://acroeng.adobe.com/Test_Files/movie//movie.pdf]|From Multimedia & 3D Tests on Adobe Acrobat Engineering website|5.2.1|Forbidden field in an annotation definition, The subtype isn't authorized : Movie|

h2. Notes

h3. Error codes generic, error description important as well
The [Preflight source code|http://svn.apache.org/repos/asf/pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/PreflightConstants.java] reveals that some of the errors codes such as 5.2.1 and 6.2.5 are generic for annotation and action types that are forbidden in PDF/A-1. The _Screen_ and _Movie_ annotations are just two of them, which means that it is not possible to identify embedded movies without taking into account the elaborate error description (i.e. the contents of the _details_ field in the output) as well.

h3. Other multimedia annotations
_Screen_ and _Movie_ annotations are not the only multimedia annotations in PDF. The [format specification|http://wiki.opf-labs.org/download/attachments/22249545/PDF32000_2008.pdf?version=1&modificationDate=1359991314000] distinguishes the following multimedia annotations:

* _Movie_ annotations (predecessor of _Screen_ annotations, deprecated since PDF 1.5)
* _Screen_ annotations
* _Sound_ annotations
* _3D_ annotations (3D objects, since PDF 1.6)

So in general any profiling for audiovisual multimedia content should include _Movie_, _Screen_ and _Sound_ annotations (and/or their corresponding Actions).

h2. Additional test results
Results of additional tests with more complex PDFs with multimedia can be found here:

[Analysis of Acrobat Engineering PDFs with Acrobat Preflight and Apache Preflight]


h2. Example files
* [http://www.opf-labs.org/format-corpus/pdfCabinetOfHorrors/] - PDF Cabinet of Horrors on OPF Format Corpus
* [http://acroeng.adobe.com/wp/?page_id=61] - Multimedia & 3D Tests on the Adobe Acrobat Engineering website