Incorporated SGE html needed items and corrections + more index entries by Andrea
[goodguy/cin-manual-latex.git] / parts / Rendering.tex
index 4fee3f1eef6722d9807df6f39d04cee71cf37600..809b94f62992404f4af3c87f14a43fb9462d83a7 100644 (file)
@@ -1,7 +1,8 @@
 \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
@@ -16,8 +17,9 @@ But you also have the choice to render \textit{one frame}.
 
 \section{Single File Rendering}%
 \label{sec:single_file_rendering}
+\index{single file rendering}
 
-Use the File pulldown and select Render to start the render dialog
+Use the \textit{File} pulldown and select Render to start the render dialog
 (figure~\ref{fig:render}).  Then choose the desired parameters.
 
 \begin{figure}[htpb] \centering
@@ -29,7 +31,7 @@ Use the File pulldown and select Render to start the render dialog
 \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
@@ -55,7 +57,7 @@ Use the File pulldown and select Render to start the render dialog
 \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
@@ -79,7 +81,7 @@ Use the File pulldown and select Render to start the render dialog
   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
@@ -104,14 +106,14 @@ Use the File pulldown and select Render to start the render dialog
   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
@@ -130,6 +132,7 @@ Use the File pulldown and select Render to start the render dialog
 
 \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
@@ -137,40 +140,46 @@ repeatedly.  It also allows for \CGG{} to be run by external
 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
@@ -187,7 +196,7 @@ Set the \textit{Output path}, \textit{File format}, \textit{Audio},
 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
@@ -195,18 +204,18 @@ and will simply fail, so make sure that no files with the same name
 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
@@ -216,26 +225,27 @@ follows:
 \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
@@ -250,6 +260,7 @@ creating its usual windows.
 
 \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
@@ -277,6 +288,7 @@ cin -r
 
 \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
@@ -354,18 +366,19 @@ to illustrate how to take advantage of their capabilities.
 
 \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
@@ -416,6 +429,7 @@ rates (figure~\ref{fig:back-ren}).
 
 \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
@@ -469,16 +483,14 @@ communication, shared filesystem, permissions and usernames synched.
   \item set the Total number of jobs to create;
   \item click OK on the bottom of the Preferences window.
   \end{itemize}
-\item On the client computers ($192.168.1.12$), start 5 background
-  \CGG{} tasks via:
+\item Now we must join the nodes created to instances of \CGG{}. On the client computers ($192.168.1.12$), on the terminal, start 5 background  \CGG{} tasks via:
 \begin{lstlisting}[style=sh]
 cd {path_to_cinelerra}
 cin -d 401 cin -d 402
 ...
 cin -d 405
 \end{lstlisting}
-\item On the master node (localhost), start the 2 background \CGG{}
-  tasks via:
+\item Similarly, on the terminal, we must join the local nodes created to instances of \CGG{}. On the master node (localhost), start the 2 background \CGG{}  tasks via:
 \begin{lstlisting}[style=sh]
 cd {path_to_cinelerra}
 cin -d 406
@@ -502,6 +514,7 @@ cin -d 407
 
 \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}).
@@ -597,6 +610,7 @@ render farm session to restart with a good balance.
 
 \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
@@ -698,7 +712,7 @@ umount <path>
     node, start \CGG{} by clicking on the icon or by typing the
     following command on the terminal screen:
     \texttt{/{cinelerra\_path}/cin}.
-  \item Use the file pulldown \texttt{Settings $\rightarrow$
+  \item Use the \textit{File} pulldown \texttt{Settings $\rightarrow$
       Preferences}, the Performance tab, to set up your Render Farm
     options in the Render Farm pane.
   \item Check the \textit{Use render farm} option.  By default, once
@@ -844,20 +858,22 @@ want to bother setting up NFS for a shared disk.
 
 \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
 all of the cpus. This is much faster than the default automatic
 threading capability. Since you don’t need to communicate with other
 computers, you will not have to be concerned about TCP communication
-or shared disks/files. When you are going to be doing other work
+or shared disks/files; only localhost nodes. On the terminal, we will open many instances of \CGG{} by connecting them to the jobs created. The number of such jobs can be the total number of CPU threads or not. When you are going to be doing other work
 simultaneously while rendering a large job, you will want to leave
-some of the cpus available for that.  Be sure to set Project SMP
-cpus” in the Settings $\rightarrow$ Preferences, Performance tab to your CPU
+some of the cpus available for that.  Be sure to set \textit{Project SMP
+cpus} in the \texttt{Settings $\rightarrow$ Preferences, Performance} tab to your CPU
 count.
 
 \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.
@@ -979,6 +995,7 @@ outlined below.  These setup steps make it easy to just get started.
 
 \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
@@ -1009,6 +1026,7 @@ you see $qp=0$.  This option is also available for bluray creation.
 
 \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
@@ -1090,6 +1108,7 @@ sections 19 and 21.
 
 \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
@@ -1287,6 +1306,7 @@ Further links:
 
 \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