\chapter{Rendering}%
\label{cha:rendering}
+\index{rendering}
-Rendering takes a section of the timeline, performs all the editing,
+Rendering takes a section of the timeline \index{active region}, performs all the editing,
effects and compositing, and creates a new media file. You can then
delete all the source assets, play the rendered file, or bring it
back into \CGG{} for more editing. All rendering operations are
\section{Single File Rendering}%
\label{sec:single_file_rendering}
+\index{single file rendering}
Use the \textit{File} pulldown and select Render to start the render dialog
(figure~\ref{fig:render}). Then choose the desired parameters.
\begin{description}
\item[Select a file to render to:] enter the path and filename to
write the rendered file to in the textbox below.
-\item[File Format:] use the down arrow to see file format options.
+\item[File Format:] \index{file format} use the down arrow to see file format options.
For ffmpeg, which has its own set of options, you will then have to
select an ffmpeg file type from the down arrow choices. The format
of the file determines whether you can render audio or video or
\end{figure}
\begin{description}
-\item[Wrench:] select the \textit{wrench} next to each toggle to set
+\item[Wrench:] \index{wrench} select the \textit{wrench} next to each toggle to set
compression parameters. If the file format can not store audio or
video the compression parameters will be blank. If \textit{Render
audio tracks} or \textit{Render video tracks} is selected and the
eventually would become \texttt{/movies/track.wav001} and so on.
Filename regeneration is only used when either render farm mode is
active or creating new files for every label is active.
-\item[Render range:] choices are \textit{Project},
+\item[Render range:] \index{active region} choices are \textit{Project} \index{project},
\textit{Selection}, \textit{In/Out points}, and \textit{One Frame}
for single images like Tiff. For these images, Render range will
have \textit{One Frame} automatically checked and all of the others
check this box. It gives you the chance to work on something else
while waiting and still be immediately notified when the render is
complete.
-\item[Render Profile:] another convenience feature to take advantage
+\item[Render Profile:] \index{render profile} another convenience feature to take advantage
of if you use specific render formats frequently, is to save that
profile for future usage without having to set it up again.
\item[Save Profile:] after setting up your render preference
formats, use the save profile button to save it.
\item[Delete Profile:] if you want to delete a saved profile,
highlight the one you no longer want and delete.
-\item[Insertion strategy:] select an insertion mode from the
+\item[Insertion strategy:] \index{insertion strategy} select an insertion mode from the
available choices as seen when you click on the down arrow on the
right hand side of the option. The insertion modes are the same as
with loading files. In the case if you select “insert nothing” the
\section{Batch Rendering}%
\label{sec:batch_rendering}
+\index{batch rendering}
Batch Rendering automates the rendering of audio/video files in that
you can establish a set of job parameters, save them, and use them
programs, with no need for the user to manually interact with the
user interface (figure~\ref{fig:batch01}).
-If you want to render many projects to media files without having to
-constantly set up the render dialog for each one, batch rendering is
-a more efficient method of rendering. In the Batch Render menu, you
-specify one or more \CGG{} project XML files, the EDL, to render and
-unique output files for each. (The EDL is the Edit Decision List or
-the set of changes to be applied to the project and media files.)
-Then \CGG{} loads each project file and renders it
-automatically. The project XML files, combined with the settings for
-rendering an output file, are called a batch. This allows a large
-amount of media to be processed without user intervention.
-
\begin{figure}[htpb] \centering
- \includegraphics[width=1.0\linewidth]{batch01.png}
- \caption{Example of the Batch Render menu}
- \label{fig:batch01}
+ \includegraphics[width=1.0\linewidth]{batch01.png}
+ \caption{Example of the Batch Render menu}
+ \label{fig:batch01}
\end{figure}
+If you want to render many projects \index{project} to media files without having to
+constantly set up the render dialog for each one, batch rendering is
+a more efficient method of rendering. To use this feature you need to
+understand certain concepts.
+
+\begin{enumerate}
+ \item You must define a list of Batches (\textit{Job} \index{job}) before starting the rendering. This is created using the \textit{New} button and displayed in \textit{Batches to Render} dialog.
+ \item Each batch consists of a source project already created in \CGG{}, e.g. \texttt{aaa.xml}, to which we assign the rendering parameters.
+ \begin{itemize}
+ \item to associate \texttt{aaa.xml} to the batch we use the \textit{EDL Path} input field.
+ \item we decide a name and path for the output file.
+ \item let's set the \textit{File Format} of the output file.
+ \item We configure the file with the Audio/Video \textit{wrench}.
+ \item we decide whether to create different files for each \textit{label} and whether to use a \textit{Render farm}.
+ \end{itemize}
+ \item Created the first batch, we will see it appear in the dialog \textit{Batches to Render}.
+ \item Using the \textit{New} button again we create a second batch for another source project (\texttt{bbb.xml}) and configure it at will.
+ \item We continue with the source projects \texttt{ccc.xml}, \texttt{ddd.xml}, etc. until we run out of projects that we want to render in batch.
+ \item Note that each batch has its own name, path and rendering parameters.
+ \item Now we have our \textit{Job}, a list of batches. We can still configure it or modify it if we want to change something. In addition we can delete a batch from the list or we can disable it in the \textit{Enabled} field so that it is not taken into account during rendering, but without deleting it.
+ \item Finally we start batch rendering with the \textit{Start} button.
+\end{enumerate}
+
+Let's see in detail how to set the Batch Rendering.
+
The first thing to do when preparing to do batch rendering is to
create one or more \CGG{} projects to be rendered and save them as a
-normal project, such as \texttt{ProjectA.xml}. The batch renderer
+normal project, such as \texttt{aaa.xml}. The batch renderer
requires a separate project file for every batch to be rendered.
You can use the same \CGG{} project file if you are rendering to
different output files, as in an example where you might be creating
the same output video in different file formats.
-To create a project file which can be used in batch render, set up
-your project and define the region to be rendered either by
-highlighting it, setting in/out points around it, or positioning the
-insertion point before it. Then save the project as usual to your
-\texttt{project.xm}l file. Define as many projects as needed this
-way. The batch renderer takes the active region from the EDL file
-for rendering. If we have not set active regions, it is better to
-bring the insertion point to the beginning of the timeline to avoid
-possible problems with the rendering.
+You do not have to render an entire projects. We can limit ourselves to an \textit{active region} \index{active region} that we can set through a selection in Cut and Paste mode, with labels or In/Out Points. Or the rendering will start from the Insert Point position until the end of the project. Remember: if we want to render the entire project (and not just one active region) it is important to bring the Insertion Point to the beginning of the timeline. This is the only way we are sure to include the whole project.
With all the \CGG{} xml project files prepared with active regions,
go to \texttt{File $\rightarrow$ Batch Render}. This brings up the
parameters as if you were rendering a single file. These parameters
apply to only one batch. In addition to the standard rendering
parameters, you must select the \textit{EDL Path} to be the project
-file (such as \texttt{ProjectA.xml}) that will be used in the batch
+file (such as \texttt{aaa.xml}) that will be used in the batch
job. In this case, \textit{EDL Path} is not related in anyway with
the EDL files as created by \texttt{File/Export EDL}. In batch
render mode the program will not overwrite an existing output file
as the output files exist before starting.
If the batches to render list is empty or nothing is highlighted,
-click \texttt{New} to create a new batch. The new batch will contain
-all the parameters you just set. Repeatedly press the \texttt{New}
+click \textit{New} to create a new batch. The new batch will contain
+all the parameters you just set. Repeatedly press the \textit{New}
button to create more batches with the same parameters. When you
highlight any batch, you can edit the configuration on the top of
the batch render window. The highlighted batch is always
synchronized to the information displayed. You can easily change
the order in which the batch jobs are rendered, by clicking and
-dragging a batch to a different position. Hit \texttt{Delete} to
+dragging a batch to a different position. Hit \textit{Delete} to
permanently remove a highlighted batch. In the list box is a column
which enables or disables the batch with an \texttt{X} meaning the
batch job is enabled and will be run. This way batches can be
-skipped without being deleted. Click on the \texttt{Enabled} column
+skipped without being deleted. Click on the \textit{Enabled} column
in the list box to enable or disable a batch.
The description of each of the columns in the batch list are as
\item[Enabled:] an X in this column means the batch job will be run.
\item[Labeled:] an \texttt{X} in this column goes hand in hand with
create new file at each label.
+\item[Farmed:] to use or not the render farm.
\item[Output:] path and filename for the generated output.
\item[EDL:] the path and filename of the source EDL for the batch
job.
\item[Elapsed:] the amount of time taken to render the batch if
finished. If field is empty, it did not run.
\end{description} To start rendering from the first enabled batch,
-hit \texttt{Start}. Once rendering, the main window shows the
+hit \textit{Start}. Once rendering, the main window shows the
progress of the batch. After each batch finishes, the elapsed column
in the batch list is updated and the next batch is rendered until
all the enabled batches are finished. The currently rendering batch
is always highlighted red. To stop rendering before the batches are
-finished without closing the batch render dialog, hit \texttt{Stop}.
+finished without closing the batch render dialog, hit \textit{Stop}.
To stop rendering before the batches are finished and close the
-batch render dialog, hit \texttt{Close}. Or you can exit the batch
+batch render dialog, hit \textit{Close}. Or you can exit the batch
render dialog whether or not anything is being rendered, by hitting
-\texttt{Close}.
+\textit{Close}.
You can automate \CGG{} batch renders from other programs. In the
batch render dialog, once you have created your list of batch render
-jobs, you can click the button \texttt{Save Jobs} and choose a file
+jobs, you can click the button \textit{Save Jobs} and choose a file
to save your batch render list to. Once you have created this file,
you can start up a batch render without needing to interact with the
\CGG{} user interface. From a shell prompt, from a script, or other
\subsection{Command Line Rendering}%
\label{sub:command_line_rendering}
+\index{rendering: command line}
The command line rendering method consists of a way to load the
current set of batch rendering jobs and process them without a
\subsection{More about Save/Use EDL and Save/Load Jobs}%
\label{sub:more_save_use_edl_jobs}
+\index{batch render: more options}
The \texttt{File $\rightarrow$ Batch Render} pulldown brings up the
Batch Render window to be used for batch rendering as well as DVD/BD
\section{Background Rendering}%
\label{sec:background_rendering}
+\index{background rendering}
Background rendering causes temporary output to be rendered
constantly while the timeline is being modified. The temporary
output is displayed during playback whenever possible. This is
useful for transitions and previewing effects that are too slow to
-display in real time. If a Render Farm is enabled, the render farm
+display in real time. If a Render Farm \index{render farm} is enabled, the render farm
is used for background rendering. This gives you the potential for
real-time effects if enough network bandwidth and CPU nodes exist.
Background rendering is enabled in the \texttt{Performance} tab of
the \texttt{Preferences} window. It has one interactive function
-\texttt{Settings $\rightarrow$ Toggle background rendering}. This
+\texttt{Settings $\rightarrow$ Toggle background rendering} \index{background rendering toggle}. This
sets the point where background rendering starts up to the position
of the insertion point. If any video exists, a red bar appears in
the time ruler showing what has been background rendered
\section{Render Farm Usage}%
\label{sec:render_farm_usage}
+\index{render farm}
Render Farm uses background rendering, a feature of \CGG{} where the
video is rendered in the background, to speed up rendering
\subsection{Render Farm Menu and Parameter Description}%
\label{sub:render_farm_parameter_description}
+\index{render farm parameters}
Below we describe the Performance tab for configuring a render farm
(figure~\ref{fig:farm}).
\subsection{Detailed Setup Description}%
\label{sub:detailed_setup_description}
+\index{render farm setup}
{\color{red} CAUTION }, any exact command lines worked as of
$01/2018$ on a Fedora system. These can change over time and on
\subsection{Multi-core Computers Render Farm Setup}%
\label{sub:multi_core_render_farm_setup}
+\index{render farm: multi core CPU}
If you are lucky enough to have a computer with a large cpu core
count, setting up a render farm can really take advantage of using
\subsection{Troubleshooting Tips and Warnings}%
\label{sub:troubleshhoting_tips_warnings}
+\index{render farm: troubleshooting}
\noindent If you have problems running the Render Farm. Here is a
list of items to check.
\subsection{Lossless Rendering}%
\label{sub:loseeless_rendering}
+\index{rendering: lossless}
Lossless means that in the compression of a file, all of the
original data, every single bit, can be recovered when the file is
\subsection{Extra “cin\_” Options for Render with FFmpeg}%
\label{sub:extra_cin_option_ffmpeg}
+\index{rendering: ffmpeg options}
There are several special parameters that can be used in the ffmpeg
options file to pass values to the codecs that are not normally
\subsection{Two-pass Encoding with FFmpeg}%
\label{sub:two_pass_encoding_ffmpeg}
+\index{rendering: ffmpeg two-pass encoding}
In \CGG{} for two-pass, you need to run ffmpeg twice, with the same
settings, except for designating the options of pass~1 for the first
\subsection{Piping Video to a Command Line}%
\label{sub:piping_video_command_line}
+\index{rendering: command line}
You can pipe a video to any command line on the computer, such as
ffmpeg. This can be especially useful with raw video files. Next