```eval_rst .. _export: ``` # Exporting Data from HoloEdit Data Streams from HoloEdit Compositions can be exported per Stage or per Composition. HoloEdit supports a variety of file formats and targets for each data type. Export is possible through The “File -> Export Composition” menu to export the Composition Result, or by right clicking on an interval in the Timeline and choosing “export” to export the Track Result up to that interval’s Stage. When an Export is executed, HoloEdit outputs any relevant stream data present for each export type specified. ## OMS Compression HoloEdit provides its own export format for volumetric video compression and playback, called **OMS**. OMS supports several unique features for fast and compressed playback of any volumetric capture. OMS format is always recommended as the final output for a volumetric Composition, with playback targets for web, streaming, and popular game engines for local playback. - **Temporal Compression:** Temporal compression uses SSDR data with a stabilized clip’s Segments to greatly reduce file size on exported OMS files. This compression is applied automatically to all OMS exports containing SSDR data. - **Mesh Compression:** Mesh Compression provides lossy methods of storing a mesh frame with a smaller footprint using bitpacking, ordering, and other encoding tricks. Enabled with the “Bitpacking'' option in the OMS export options. - **Sequence Bytestream Compression:** Sequence Bytestream Compression is an additional layer of compression automatically applied to OMS exports. It uses general bytestream compression like zStd or zLib on a per sequence basis to save additional space. In addition to OMS, there are several other output formats available in HoloEdit. ## Multitrack Export ```eval_rst .. _multi-track-export: ``` In HoloEdit 2020.4, simultaneous export of multiple Tracks is supported through the **Combined MP4+OMS** output type. All other Output types export the **Track Result** of the uppermost Track in your current Composition. To Export data from multiple Tracks individually, the recommended workflow is to save your Composition, export, then repeatedly remove the uppermost Track and export again with a new filename, until all Tracks have been exported. ## The “Export Final Composition” Window The **Export Final Composition** window lets you specify one or more output types and export them in a single step. The Export Final Composition window has is made up for two parts -- the Shared Export Settings, and the Export Sequences area: ### The Shared Export Settings The Shared Export Settings are at the top of the window. They include **Output Path** (the directory for the exported files), and **Output Frame Range**. Every frame that falls within the output frame range will be exported. HoloEdit will not export empty frames, and will automatically trim intervals if they aren’t contained in the Output Frame Range. The Default settings are 0 for start frame and 3000 for end frame. These settings will work to export the entire clip from any Composition under 3000 frames. ### The “Export Sequences” Field The Export Sequences field makes up the majority of the Export FInal Composition window. It is made up of a large list view, with a “ **+** “ button at the top right. The **+** Button will open the **“New Output Sequence”** window. The list view contains all of the output sequences specified for export. Every output present in the list view will be exported together when you press the **“Export”** button at the bottom right of the window. ## The “New Output Sequence” Window The N**ew Output Sequence** window is made up of 3 parts: ### The Output Sequence Filename Field The Output Sequence Filename Field is the text field at the top left of the window. The specified string will be used to name your output files. ### The Output Sequence Type Selector The Output Sequence Type drop down on the right specifies the kind of output to be exported. ### Output Parameters The rest of the window consists of the Output Parameters. These vary per Output Type. See [Output Sequence Types](export-outputtypes) for details. After configuring your **New Output Sequence**, press the “Save” Button at the bottom of the window to add it to the **Export Sequences List**. You can add as many individual **Export Sequences** as you’d like before pressing Export in the **Export Final Composition** window to begin the export process. ## Export Process After pressing the “export” button, the **Composition Result** (the result of the bottommost processed intervals in the Composition) will be exported. For Information on a particular Export Filetype, see below. ```eval_rst .. image:: assets/ExportTable.PNG :width: 1200 ```

Export Data by Format

```eval_rst .. _export-outputtypes: ``` ## Output Sequence Types HoloEdit provides several export types for playback and integration into external pipelines. Each Export type requires Samples from one or more relevant Data Streams be present to output data, listed in the Requirements section per Output Type. Unless otherwise specified, every requirement must be present for each frame exported. ### Combined MP4+OMS Combined MP4+OMS, or **Multitrack Export**, exports a single file containing OMS and MP4 data for every Track in your current Composition. Both the mesh and texture files are packaged in an .mp4 container. As of HoloEdit 2020.4.1, combined MP4+OMS playback is supported by the Unity OMS Player plugin The Texture Streams from each Track in the Composition are atlassed together on a grid to produce the final texture stream MP4. It is recommended that set the “**Resolution**” option to **Custom** and enter a manual resolution under 4k for your output atlas. Leaving the **Resolution** setting at **Original** will produce an atlas large enough to fit your textures at their original size, which may be too large for playback. In HoloEdit 2020.4, gaps in time without mesh or texture present are not supported by OMS Playback. If you need a gap in playback without any data, consider exporting one OMS file for each contiguous section of Volumetric Video and managing timing at Playback. ### Requirements: - Contiguous Mesh Stream - Texture Stream (Non-MVE) - Optional: SSDR (for compression) See the “OMS” and “MP4” outputs below for details. ### OMS OMS output is a compressed file format optimized for Volumetric Playback. OMS files contain mesh data, provide multiple optional compression techniques, and support skeletal data for retargeting. OMS Files do not include embedded texture information, and should be exported with an accompanying texture stream (from the MP4 or “Textures” output type) In HoloEdit 2020.4, gaps in time without mesh or texture present are not supported by OMS Playback. If you need a gap in playback without any data, consider exporting one OMS file for each contiguous section of Volumetric Video and managing timing at Playback. ### Requirements: - Contiguous Mesh Stream - Optional: SSDR (for compression) ### Parameters: - **Bitpacking:** Enables Mesh Compression. See “OMS Compression Features” below for more details. **Bitpacking is required when exporting OMS in HoloEdit 2020.4.** - **Retarget:** Embeds retargeting skeletal data into OMS. - **Minimum SSDR Encoding Frames:** This parameter sets the minimum size threshold for an SSDR segment to be compressed and encoded into the OMS. SSDR segments smaller than this number will be exported without compression. Too small of a number may produce visual errors during playback. - ### MP4 MP4 Video format is the recommended compressed texture output for HoloEdit. MP4 output exports the Composition’s textures as a compressed MP4 video. ### Requirements: - Texture Stream (Non-MVE) ### Parameters: - **Bitrate:** 10240, 20480, or 40960 kbps bitrates are available - **Codec:** Specify the codec for the output mp4. libx264 and libx265 codecs are supported - For most target platforms, we suggest using H.264 as your codec type, as H.265 lacks support on many devices. Because H.265 lacks broad system support, unless you control the playback device there is a risk of H.265 encoded videos being unable to play on a given target platform. - **Resolution:** Specify an override resolution for the video. The default setting, “Original” preserves the imported texture resolution. Selecting “Custom” will add a “**Custom Size**” field where you can specify manual X and Y resolutions. - **Encode Frame Numbers:** Embeds timing info into the texture stream video. This will show up as a small black and white strip at the bottom right of your textures, and is required for OMS Player playback on some platforms. - Encode Frame Numbers is not supported with resolutions lower than 100x100 ### Textures Textures exports the Texture Stream as a file sequence in the specified file format.Textures export outputs one texture file per frame. ### Requirements: - Texture Stream (Non-MVE) ### Parameters: - **Compression:** Select from PNG, ASTC 4x4, ASTC 8x8, or ASTC 12x12 formats.See below for per-format details - **PNG:** PNG is a widely used image format supporting lossless compression and transparency - **ASTC:** ASTC is a high performance texture format for real time graphics, with varying levels of compression, from 4x4 (minimum) to 12x12 (maximum) block compression. ASTC files can be used with the OMS Player instead of MP4 on target platforms with specific performance constraints without robust video support. - **DXT1:** DXT1, or BC1, produces a block compressed DDS file. DDS is a high performance texture format for real time graphics. DDS files can be used with the OMS player instead of MP4 on target platforms with specific performance constraints or without robust video support - **Resolution:** Specify an override resolution for the texture sequence. The default setting, “Original” preserves the imported texture resolution. Selecting “Custom” will add a “**Custom Size**” field where you can specify manual X and Y resolutions. ## Meshes Meshes exports the Mesh Stream as a file sequence in the specified file format. Meshes outputs one mesh file per frame ### Requirements: - Mesh Stream - Optional: Skinning Data (FBX), UVs - Optional: Mesh Colors (PLY) ### Parameters - **Format:** Select from OBJ, FBX, or PLY format. PLY format supports vertex color output. See below on per-format details - **OBJ**: The Wavefront .obj format is an open format widely used for 3d geometry. OBJ meshes positions, UVs, and normals per vertex, and is supported by a wide range of software and platforms. - **FBX**: The FBX format is a widely used interop format for 3d graphics supporting rigging and skinning data, vertex colors, and animation. HoloEdit exports Binary .FBX files containing Mesh data including vertex position, normal, and uvs via the Meshes Export, and skeletal animation data via the Animations and Maya export. - **PLY**: The PLY format is a 3d geometry format supported polygonal meshes and Point Clouds with arbitrary per-vertex properties. HoloEdit exports Binary .PLY files containing Mesh data including vertex position, normal, uvs, color via the Meshes Export. ### Animations Animations exports embedded Skeletal Data (such as from a Generate Skeleton Stage) per frame as .FBX files. ### Requirements: - Mesh Stream - Skeletonization ### Parameters - No Parameters ### Workflows Workflows are special exports meant to be used with external tools or HoloSuite plugins. There are two Workflows in HoloEdit 2020.4 ### Parameters: - **Workflow:** Select between Mari or Maya Workflow. ### Workflow: Mari: The Mari Workflow exports files ready for use with the HoloEdit Mari Tools Import Script. It will export stabilized segments as individual objects, with each frame as an individual UDIM Tile. It will export corresponding textures per a naming convention that matches the HoloEdit Mari Tools Import Script. ### Requirements: - Stabilized Mesh Stream - Texture Stream ```eval_rst .. _maya-export: ``` ### Workflow: Maya: The Maya Workflow exports rigged .fbx files ready for use with the [HoloSuite Maya Tools plugin](external-mayatools). ### Requirements: - Mesh Stream - Skeletonization - Mesh Skinning (Optional)