doc:appunti:linux:video:olive_editor_tools
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
doc:appunti:linux:video:olive_editor_tools [2024/07/26 17:09] – [Export Media] niccolo | doc:appunti:linux:video:olive_editor_tools [2024/07/31 10:00] (current) – [Export Media] niccolo | ||
---|---|---|---|
Line 29: | Line 29: | ||
===== Export Media ===== | ===== Export Media ===== | ||
- | It seems that the //Export media// dialog box does not fully support the handling of presets: when you save and re-load a preset, not all the settings are restored (checked with Olive 0.2.0-55eedbfc). So it is best to check every settings before doing the final video export. | + | :!: **WARNING**: |
+ | |||
+ | I have the habit to make **two exports** of a video work: an **high quality** one to be used as the //master// for subsequent processing and a **normal quality** one for watching on a consumer grade player. In both cases I use the **H.264** video codec at the moment, due to its wide acceptance and the maturity of the ffmpeg **libx264** codec. | ||
+ | |||
+ | Ideally the master should be composed by the original clips without re-encoding them. I was able to obtain this result only with a complicated command line recipe, using **ffmpeg**. That recipe requires that all the source videos are in the same resolution, FPS and format. Using ffmpeg it is possibile to cut the clips to be assembled at exact keyframes boundaries, and concatenate them into the final master without re-encoding. | ||
+ | |||
+ | This **lossless procedure** is not possibile with Olive Video Editor, because generally you cut each clip regardless the keyframes, you may mix sources with different resolutions, | ||
+ | |||
+ | ==== High Quality export ==== | ||
+ | |||
+ | For the high quality video export I use the **constant quality mode** of the **[[https:// | ||
+ | |||
+ | Read the **[[https:// | ||
+ | |||
+ | ^ 0 | Almost lossless. | ||
+ | ^ 18 | Visually lossless or nearly so. | | ||
+ | ^ 21 | Should look the same at whatever preset you are running. | ||
+ | ^ 23 | The default value. | ||
+ | ^ 51 | The worst possible. | ||
+ | |||
+ | So I opted for this Olive Editor export settings: | ||
+ | |||
+ | ^ Export Video ^^ | ||
+ | ^ Format | ||
+ | ^ Width x Height | ||
+ | ^ Quality | ||
+ | ^ Codec | H.264 | | ||
+ | ^ Encode Speed | Very Slow (2) | | ||
+ | ^ Compression Method | ||
+ | ^ CRF value | 18 | | ||
+ | ^ Pixel Format | ||
+ | ^ YUV Color Range | Full (0-255) | ||
+ | ^ Color Space | Rec.709 OETF (5) | | ||
+ | |||
+ | Using this presets you cannot predict the bitrate used by the video, because it will be determined by the complexity of the scene to be encoded. Neverthless I expect something like **23 Mbps** (10 Gb per hour) when exporting a video from clips recorded with an Insta360 action cam, set at the resolution of **1920x1080@30** and **40.0 Mbps** quality. | ||
+ | |||
+ | Olive Video Editor uses ffmpeg to make the video export, but unfortunately it does not allow to take control of the **options passed to ffmpeg** (see issue [[https:// | ||
+ | |||
+ | ==== Normal Quality export ==== | ||
+ | |||
+ | :!: **NOTICE**: Because Olive Video Editor does not allow you to exactly control the ffmpeg options used for video exporting, you may prefer to make the normal quality copy from from the high quality //master// (produced as explained above) using ffmpeg alone on the command line. This has the disadvantage of requiring two re-encoding process from the original footages, but allow you the complete control on the resulting media. See this page for some recipes: | ||
Here they are my preferred settings to produce **HD-Ready 780p** and **Full HD 1080p** videos. | Here they are my preferred settings to produce **HD-Ready 780p** and **Full HD 1080p** videos. | ||
Line 40: | Line 80: | ||
^ Encode Speed | Very Slow (2) | | ^ Encode Speed | Very Slow (2) | | ||
^ Compression Method | ^ Compression Method | ||
- | ^ Target Bit Rate (Mbps) | + | ^ Target Bit Rate (Mbps) |
- | ^ Maximum Bit Rate (Mbps) | + | ^ Maximum Bit Rate (Mbps) |
^ Two Pass | Yes | | ^ Two Pass | Yes | | ||
^ Pixel Format | ^ Pixel Format | ||
Line 54: | Line 94: | ||
- The proposed values are: //8-bit//, //16-bit Integer//, // | - The proposed values are: //8-bit//, //16-bit Integer//, // | ||
- | - Depending on the combination of the //Qaulity// and //Encode Speed// options, the resulting video may use the video format profile **High@L3.2**, | + | - Depending on the combination of the //Encode Speed// and //Compression Method => Bitrate// options, the resulting video may use the video format profile **High@L3.2**, |
- | - 8 Mbit is suitable for an high quality video, Full HD 1080p, but 4 Mbit is acceptable for a normal quality video. | + | - A bitrate of **8 Mbit** is suitable for an high quality video, Full HD 1080p, but 4 Mbit is acceptable for a normal quality video. |
- The improvement achievable using yuv422p or yuv444p is visually imperceptible and some players only support yuv420. | - The improvement achievable using yuv422p or yuv444p is visually imperceptible and some players only support yuv420. | ||
- There are no substantial differences in the ability to represent colors between the sRGB, Rec.701 and Rec.601 color spaces, but almost any player expecting high definition videos will accept Rec.709. | - There are no substantial differences in the ability to represent colors between the sRGB, Rec.701 and Rec.601 color spaces, but almost any player expecting high definition videos will accept Rec.709. | ||
doc/appunti/linux/video/olive_editor_tools.1722006540.txt.gz · Last modified: 2024/07/26 17:09 by niccolo