add Animation html reference to Stuff master
authorGood Guy <good1.2guy@gmail.com>
Tue, 13 Apr 2021 22:48:43 +0000 (16:48 -0600)
committerGood Guy <good1.2guy@gmail.com>
Tue, 13 Apr 2021 22:48:43 +0000 (16:48 -0600)
parts/Developer.tex
parts/Installation.tex
parts/Plugins.tex
parts/Real-World.tex
parts/Rendering.tex
parts/Stuff.tex
parts/Tips.tex

index 5532ce8e9d8a3406e35f1157928e0c518c3806ec..f1996945d5950a730f08e9015c1bbd780b7e75b0 100644 (file)
@@ -483,6 +483,10 @@ The best way to compile and run valgrind is to run the developer static build. T
                \texttt{CFLAGS=-ggdb make -j8 rebuild\_all}
 \end{enumerate}
 
+If you frequently make mods and changes in \CGG{} or the thirdparty libraries, do not depend on those
+compiled versions to have the headers updated; so be sure to fully rebuild as shown in the previous 2
+steps before running valgrind or you will get false errors.
+
 Now your \CGG{} obj has all of the debug stuff. Next run valgrind as root for the most useful results:
 
 \hspace{2em}\texttt{cd /path/cinelerra-5.1/cinelerra}
@@ -492,7 +496,10 @@ Now your \CGG{} obj has all of the debug stuff. Next run valgrind as root for th
 
 This runs \CGG{} under the control of valgrind, and produces a log file in /tmp which will list information about any leaks, usually clearly identifiable. Be sure to Quit out of \CGG{} normally instead of Ctrl-C or a SEGV otherwise the program does not have a chance to cleanup and there will be some false alarms. But it runs very slowly, and is basically single threaded, which means that race conditions may be impossible to catch$\dots$ like one thread deletes memory that another thread is currently using. But overall it is a big help and if you test any new features, please email the log output. A lot of effort when writing the code was put into trying to be sure that all of the object constructors have matching destructors so that the leaks can be identified. There are already several libraries that create predictable memory leaks and valgrind does a good job for most of these.
 
-It is impossible to test everything with valgrind because some things are just too big and slow for a practical test. Occasionally you can find a leak or an illegal memory access. There are several false alarms that are difficult to avoid \textit{Conditional jump} messages, and \textit{unhandled DW\_OP\_}, but anything with the word \textit{illegal} in the message is important. Memory leaks that originate in \CGG{} are good to find and fix, but are usually not deadly.
+It is impossible to test everything with valgrind because some things are just too big and slow for a practical test. Occasionally you can find a leak or an illegal memory access. There are several false alarms that are difficult to avoid \textit{Conditional jump} messages, and \textit{unhandled DW\_OP\_}, but anything with the word \textit{illegal} in the message is important. Memory leaks that originate in \CGG{} are good to find and fix, but are usually not
+deadly. The listing of the memory leaks can be quite voluminous so locating the \textit{LEAK SUMMARY} section
+towards the end of the report is most useful.
+
 
 \section{CFLAGS has -Wall}
 \label{sec:cflags_has_-wall}
index 2258db4d7b89f82bc534480f11bff362497071c0..696bb0c3a51ccb3bddaec0db4c778afaff5a4fa2 100644 (file)
@@ -2,6 +2,63 @@
 \label{cha:Installation}
 \index{installation}
 
+\section{\CGG{} AppImage}%
+\label{sec:cin_gg_appimage}
+
+The main way to install \CGG{} is to use the AppImage. This is updated regularly and works for every distro, since it already contains the necessary dependencies. 
+A big advantage of using the AppImage format is that it is only 1/3 the size of the normal install,
+and since each release is named differently, you can keep a number of versions in a directory,
+and when testing from a terminal you just have to type CinGG, then hit tab, and complete it to
+the desired date release.
+
+For 64-bit systems you can choose between an image with up-to-date libraries or one that supports older libraries, which you should use only if the first image gives you problems with unsupported libs. There is also a 32-bit older distro available that has \textit{i686} as part of the filename.  Installing the appimage is simple:
+
+Download the file from:
+
+\url{https://cinelerra-gg.org/download/images/}
+
+Some example file names are as follows - where 8 digits represent yyyymmdd:
+
+\begin{lstlisting}[style=sh]
+       CinGG-20210228-x86_64.AppImage
+         (currently based on Fedora Core 32, libc version 2.31)
+       CinGG-20210228-x86_64-older-distros.AppImage
+         (currently based on Ubuntu 16.04, libc version 2.23)
+       CinGG-20210228-i686.AppImage
+         (not yet available, but will be based on Debian 9, libc version 2.23)
+\end{lstlisting}
+
+Make the file executable with the proper execute permissions either from the GUI of the Desktop Environment used (link to the file) or from a terminal window.  Make sure you are already in the directory containing the appimage:
+
+\begin{lstlisting}[style=sh]
+       $ chmod u+x CinGG-yyyymmdd.AppImage
+\end{lstlisting}
+
+Finally start the program from a window in the directory where the image is stored:
+
+\begin{lstlisting}[style=sh]
+       $ ./CinGG-yyyymmdd.AppImpage
+\end{lstlisting}
+
+or create a convenient desktop icon with a link to the run action:
+
+\begin{enumerate}
+       \item right-click on the appimage file
+       \item Properties
+       \item Application Tab
+       \item Command:
+       \begin{lstlisting}[style=sh]
+               /path/to/appimage/./CinGG-yyyymmdd.AppImage
+       \end{lstlisting}
+       \item OK
+\end{enumerate}
+
+Most distros already have the libraries to run the appimage, but if not you may need an additional installation. For example Arch Linux needs the \texttt{libappimage} package.
+
+\begin{lstlisting}[style=sh]
+       sudo pacman -S libappimage
+\end{lstlisting}
+
 \section{Download Already Built \CGG{}}%
 \label{sec:download_already_built_cinelerra_gg}
 
@@ -20,8 +77,7 @@ you get the added benefit of the latest checked in changes, please reference
 ~\ref{sec:How_to_build}.
 %
 A Windows 10 version installation is described in~\ref{sec:ms_windows10}.  There are also 32-bit i686 Ubuntu, Debian,
-and Slackware versions available.  These are updated on a fairly
-regular basis as long as significant code changes have been made.
+and Slackware versions available. \textbf{These binaries are no longer being updated; they are stable and working but without future functionality}.
 They are in subdirectories of:
 
 \begin{list}{}{}
@@ -896,7 +952,7 @@ capabilities.
 \label{sec:AV_Linux}
 
 \textbf{AV Linux} is a downloadable/installable shared snapshot
-ISO image based on Debian.  It provides the user an easy method to
+ISO image based on MX Linux.  It provides the user an easy method to
 get an Audio and Video production workstation without the hassle
 of trying to find and install all of the usual components
 themselves.  Of course, it includes \CGG{}!
@@ -915,6 +971,13 @@ graphics, animations, physical computing, etc.
 Click here for the
 \href{https://gitlab.com/giuseppetorre/bodhilinuxmedia}{homepage of Bodhi Linux}.
 
+\subsection{DeLinuxCo}
+\label{sec:delinuxco}
+
+\textbf{DeLinuxCo} is a distro derived from Manjaro (so Arch based) with DE Cinammon. It is a professional workstation, mainly oriented to the multimedia field but not only. It contains many specialized programs already configured, including \CGG{}.
+
+You can read all about DeLinuxCo \href{https://www.delinuxco.com/}{here} and download \href{https://www.delinuxco.com/download/}{here}.
+
 \subsection{Elive}
 \label{sec:elive}
 
index c86f1edc1deb4839d8f438a7e5bb86b8465720c7..6878965eb2b62afd73e7cd378188dad194136823 100644 (file)
@@ -510,7 +510,7 @@ Audio sampling (time data) is converted to a frequency spectrum using FFT (\text
 
 For example, if you record a voice with a microphone\protect\footnote{credit fary54}:
 \begin{enumerate}
-        \item You record 15 seconds of background (without talking). This is represent the background noise that the filter uses as a reference..
+        \item You record 15 seconds of background (without talking). This is represent the background noise that the filter uses as a reference.
         \item After 15 seconds, start the voice. This is represents the recording whose filter should remove the background noise.
         \item You stop recording.
         \item You place the FFT effect on the whole length of the recording (including the 15 seconds of background noise).
@@ -2565,6 +2565,12 @@ position a little so that the answers are not exactly zero.
 
 The \textit{Polar} effect bends and warps your video in weird ways. Mathematically, it converts your video from either \textit{polar} coordinates to \textit{rectangular} coordinates, or the reverse. With the Clear buttons we can bring the slider to default values without affecting the other parameters.
 
+\subsection{Posterize}%
+\label{sub:posterize}
+\index{posterize}
+
+Reduces the color depth so as to decrease the displayed color gradients, up to the bands typical of posterization. It is used by setting the number of \textit{steps} from 0 to 255.
+
 \subsection{RGB-601}%
 \label{sub:rgb-601}
 \index{rgb-601}
@@ -3026,6 +3032,12 @@ With \textit{Time Range} we decide the size (and therefore the number) of the ba
 
 \textit{Rate} allows you to choose the type of algorithm to use when switching between the start and end bands. You can reverse the direction with the \textit{Invers} button. The three modes are: \textit{Linear}, \textit{Log} or \textit{Quadratic} (exponential). This is a warping framework plugin based on this article: {\small \url{http://www.vision.huji.ac.il/videowarping/HUJI-CSE-LTR-2005-10_etf-tr.pdf}}
 
+\subsection{Timelapse Helper}%
+\label{sub:timelapse_helper}
+\index{timelapse helper}
+
+It is used to get a timelapse quickly and easily. It sets the number of frames to be skipped during playback. The default value of \textit{Number of Frames x block} is 10; playback (and rendering) displays frames 1 - 10 - 20 - ... and not the intermediate ones.
+
 \subsection{Title}%
 \label{sub:title}
 \index{title}
@@ -3670,13 +3682,13 @@ cin/plugins/opencv/stylizeobj.plugin
 
 The location for most User installs is:
 
-\hspace{4em}\texttt{<cinlib\_path>/plugins/}
+\hspace{4em}\texttt{<cinlib\_path>/plugins/video}
 
 Location for some System installs is:
 
-\hspace{4em}\texttt{/usr/lib/cin/plugins/} (most ubuntu distros)
+\hspace{4em}\texttt{/usr/lib/cin/plugins/video} (most ubuntu distros)
 
-\hspace{4em}\texttt{/usr/lib64/cin/plugins/} (Leap distro)
+\hspace{4em}\texttt{/usr/lib64/cin/plugins/video} (Leap distro)
 
 \subsection{How to Build OpenCV Plugins}%
 \label{sub:how_build_opencv_plugins}
index c89d219a1bb2c8fba9e9b3cc5f553a236513b7c1..2ac809107f924c3b44f8cd62478aaec06f019870 100644 (file)
@@ -224,3 +224,46 @@ To render, do not forget to uncheck the P (proxy) button in the main program win
 \paragraph{Note:} If our files have Jam-syncing timecodes, we can speed up the workflow (steps 4 - 15) with the simple command : \texttt{Tracks $\rightarrow$ Align Timecodes}.
 
 More info can be found in \nameref{sub:align_timecodes}.
+
+\chapter{FAQ, Known Problems and Workarounds}%
+\label{cha:faq_problems_workarounds}
+\index{workarounds}
+
+There are a few known problems that have not yet been fixed for which there are some workarounds presented here.
+
+\paragraph{Workaround for the \textit{alpha channel not working as intended when using an EDL} inserted as a reference or when an EDL is nested.}
+Using the Projector on the EDL within a Master Project follow these next steps.
+\begin{itemize}
+       \item Open your EDL with \textit{Open EDL} by using the MMB (Middle Mouse Button) on the Nested edit on its track.
+       \item In this nested EDL, insert a new Video track below the last video track.
+       \item Add the Alpha plugin to the new Video track for the entire length of the nested EDL.
+       \item Change the value of the Alpha to 0.00. The Alpha Plugin may be disabled or left enabled.
+       \item Close the EDL.
+\end{itemize} This solves the alpha channel not working as expected and the Master Project now looks correct.
+
+\paragraph{Workaround for using a transition, like Dissolve, between 2 edits with the plugin Motion51.}
+In this case, the Motion51 plugin and the Dissolve transition are not seen during the transition phase
+and is stopped at the cut point between 2 edits.
+The left edit's plugin should be in effect until the end of that clip and should include the
+dissolve.  Instead, there is a jump inside the dissolve, as if the plugin does not exist. There are
+2 possible workarounds.  For example, extend the Motion51 plugin to cover both clips rather than
+having a separate plugin for each clip.  Or another workaround is to use two tracks and have the 
+plugin cover the cut point and use a Fade auto instead of the Dissolve transition.
+
+\paragraph{The Fade auto in certain circumstances produces an unwanted black flash.}
+When you insert an effect on an empty track the fade fades as if it were on a black background;
+it interprets the alpha as black where there is transparency, which is what produces the fade.
+So the problem in the case of text is that the letters appear as a black flash briefly in the first
+few frames, then goes back to transparent, then the fade starts normally with the white color. 
+To avoid the unwanted effect produced by the fade over black (because there is no content) leave
+the fade in/out of the effect at 0 and use the fade line to perform the intended results to
+avoid the problem with the alpha channel. The same problem occurs when using transparent PNG
+images with fade video transitions and can be resolved in the same manner.
+However this workaround can be quite tedious and complicated if you want to fade many snippets of text
+and transparent PNGs on the same track, with always the same video transition filter set to the same 
+duration. 
+
+Just a side note here. Fade in/out in the Title plugin works fine if there is a clip/image above 
+the plugin in the same track without an alpha channel but not if there is no clip/image.
+And the Transition effect works fine when there is a transition between two clips/images without
+an alpha channel.
\ No newline at end of file
index b65fffd451777b4de7051cda5952cfee57e56672..ca711f8ba6742adcd650a024c6918b9b83353161 100644 (file)
@@ -679,9 +679,9 @@ Batch Rendering as implemented in \CGG{} is considered to be more of
 an advanced feature and careful usage is advised.  It automates the
 rendering of audio/video files in that
 you can establish a set of job parameters, save them, and use them
-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}).
+repeatedly (figure~\ref{fig:batch01}).  It also allows for \CGG{} to
+be run by external programs, with no need for the user to manually
+interact with the user interface.
 
 \begin{figure}[htpb] \centering
        \includegraphics[width=1.0\linewidth]{batch01.png}
@@ -821,9 +821,9 @@ program, execute:
 \texttt{batchjob.rc}. \textbf{Warning} this file will be modified
 so if you use any filename that is not a legitimate list of batch jobs to
 render, that file will be overwritten and its previous contents destroyed.
-When invoked with these parameters, \CGG{}
-will start up and perform the rendering jobs in the list contained
-in that file, without creating its usual windows. If you do not
+When invoked with these parameters, \CGG{} will start up and run the
+rendering jobs in the list contained in that file starting at the defined
+\textit{active region}, without creating its usual windows. If you do not
 specify a filename, the default will be \$HOME/.bcast5/batchrender.rc.
 Possible messages you might see where you started up the job are as follows.
 \begin{description}
@@ -925,15 +925,16 @@ operation is somewhat difficult. That is why the command line aborts
 if any output files already exist.
 
 To perform rendering from the command line, first run \CGG{} in
-graphical mode. Go to \texttt{File $\rightarrow$ Batch
-  Render}. Create the batches you intend to render in the batch window
-and close the window. This automatically saves the batches in a file 
+graphical mode. Go to \texttt{File $\rightarrow$ Batch Render}.
+Create the batches you intend to render in the batch window and
+close the window.  This automatically saves the batches in a file 
 with the name of \$HOME/.bcast5/batchrender.rc. Set up the
 desired render farm attributes in \texttt{Settings $\rightarrow$
   Preferences} and quit out of \CGG{} if you want to use the Render
 Farm capability.  These settings are used the next time command line
 rendering is used to process the current set of batch jobs without a
-GUI\@.
+GUI\@.  It is important to remember that the rendering will begin at
+the defined \textit{active region} saved when the project was saved. 
 
 On the command line run:
 
@@ -1012,14 +1013,13 @@ Render Farm uses background rendering, a feature of \CGG{} where the
 video is rendered in the background, to speed up rendering
 significantly.  Because rendering is memory and cpu intensive, using
 multiple computers on a network via a render farm is a significant
-gain.  With \CGG{} installed on all nodes, the master node and the
-clients communicate via a network port that you specify.
-
+gain. With \CGG{} installed on all nodes, the master node and the clients communicate via a network port that you specify.
+The Master node is the one of the instance of \CGG{} that we normally start with its gui; the other nodes are the instances of \CGG{} that we decide to start in parallel from the terminal to create the Render farm (clients).
 \CGG{} can distribute the rendering tasks over the network to the
-other computers of the Render Farm.  The render farm software tries
+other computers of the Render Farm; or among all threads of a multicore CPU.  The render farm software tries
 to process all of the rendering in parallel so that several
 computers can be used to render the results.  The \textit{Total jobs
-  to create} in the setup or labels on the timeline are used to divide
+to create} in the setup or labels on the timeline are used to divide
 a render job into that specified number of tasks.  Each background
 job is assigned a timeline segment to process and the jobs are sent
 to the various computer nodes depending upon the load balance.  The
@@ -1034,6 +1034,7 @@ script.
 The following steps are just a guideline to start your render farm.
 It is assumed that you already have the master and client nodes
 communication, shared filesystem, permissions and usernames synched.
+Let's take the example of a network with 2 PCs: the master and the client. On the client we set 5 tasks; on the master we set 2 tasks.
 
 \begin{enumerate}
 \item On the master computer, use \texttt{Settings} $\rightarrow$
@@ -1044,35 +1045,37 @@ communication, shared filesystem, permissions and usernames synched.
   \item in the \textit{Hostname} box, keyin your hostname or ip
     address such as 192.168.1.12 or \textit{localhost};
   \item enter in a port number such as 401--405 (only a root user
-    can use privileged ports) or $1025$ and click on \textit{Add Nodes};
+    can use privileged ports) or $10650...$ for non-root and click on \textit{Add Nodes}. To find a range of free ports to use you can look at the file \texttt{/etc/services};
   \item you will see something like the following in the Nodes
     listbox to the right:\newline
     \begin{tabular}{lllc} On & Hostname & Port & Framerate
       \\\midrule
-      X & 192.168.1.12 & 401 & 0.0 \\
-      X & 192.168.1.12 & 402 & 0.0 \\
-      X & 192.168.1.12 & 403 & 0.0 \\
-      X & 192.168.1.12 & 404 & 0.0 \\
-      X & 192.168.1.12 & 405 & 0.0 \\
-      X & localhost & 406 & 0.0 \\
-      X & localhost & 407 & 0.0 \\
+      X & 192.168.1.12 & 10650 & 0.0 \\
+      X & 192.168.1.12 & 10651 & 0.0 \\
+      X & 192.168.1.12 & 10652 & 0.0 \\
+      X & 192.168.1.12 & 10653 & 0.0 \\
+      X & 192.168.1.12 & 10654 & 0.0 \\
+      X & localhost & 10655 & 0.0 \\
+      X & localhost & 10656 & 0.0 \\
     \end{tabular}
-  \item set the Total number of jobs to create;
+  \item set the Total number of jobs to create. This number only pertains to client nodes, so we do not need to consider the master node;
   \item click OK on the bottom of the Preferences window.
   \end{itemize}
-\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:
+\item For external network nodes, 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 10650 cin -d 10651
 ...
-cin -d 405
+cin -d 10654
 \end{lstlisting}
-\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:
+In practice, at each instance that we start, the cursor will be positioned in a new line ready to enter the next command, without exiting the task. If we have several PCs on the network, repeat these steps for each new client (with its own ip address).
+\item Similarly, on the terminal, we must join the local nodes (internal to the Master node) 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
-cin -d 407
+cin -d 10655
+cin -d 10656
 \end{lstlisting}
+Similar to the previous point, the cursor positions itself in a new line ready to enter the next command, without exiting the task.
 \item When your video is ready, setup a render job via \texttt{File
     $\rightarrow$ Render} or \texttt{File $\rightarrow$ Batch Render}
   and check OK.
@@ -1086,7 +1089,7 @@ cin -d 407
   Scripts icon.
 \item If you plan on doing more rendering, you can just leave the
   master/client jobs running to use again and avoid having to restart
-  them.  Or you can kill them when you no longer are using them.
+  them. You can also close the terminal, but the jobs will remain active until you turn off the PC. Or you can kill them when you no longer are using them.
 \end{enumerate}
 
 \subsection{Render Farm Menu and Parameter Description}%
@@ -1123,7 +1126,7 @@ Below we describe the Performance tab for configuring a render farm
   existing node or enter a new node.
 \item[Port] keyin the port number of an existing or new node here.
   You can also type in a range of port numbers using a hyphen, for
-  example $1501-1505$ when you need to add many.
+  example $10650-10799$ when you need to add many.
 \item[Apply Changes] this will allow you to edit an existing node
   and to then commit the changes to hostname and port. The changes
   will not be committed if you do not click the OK button.
@@ -1337,12 +1340,6 @@ RenderFarmClient::main_loop: Session started from 127.0.0.1
 \end{lstlisting} As it completes its jobs, you will should see:
 \begin{lstlisting}[style=sh]
 RenderFarmClientThread::run: Session finished
-\end{lstlisting} A quick way to start a sequence of clients is to
-  use:
-\begin{lstlisting}[style=sh,mathescape]
-for n in `seq 1501 1505`; do
-  cin -d $\$$n
-done
 \end{lstlisting}
 \item[Render Using Render Farm] After you have followed the
   preceding steps, you are ready to use the render farm.  Click on
@@ -1371,13 +1368,26 @@ done
 \item[Assemble the Output Files] Once all of the computer jobs are
   complete, you can put the output files together by using the shell
   script, \textit{RenderMux} (from the menubar \textit{scripts} button
-  just above FF), if the files were rendered using ffmpeg, or you can
-  load these by creating a new track and specifying concatenate to
+  just above FF), if the files were rendered using ffmpeg (see \nameref{sec:menu_bar_shell_commands}).
+  
+  If you want to remain within the open project in \CGG{}, you can load these files by creating a new track and specifying concatenate to
   existing tracks in the load dialog in the correct numerical order.
   File types which support direct copy can be concatenated into a
   single file by rendering to the same file format with render farm
   disabled as long as the track dimensions, output dimensions, and
   asset dimensions are equal.
+  
+  Finally if you want to use ffmpeg from terminal externally to \CGG{} you can go to the directory where the rendered files are, it creates a text file \texttt{list.txt} containing the list of all our files:
+  \begin{lstlisting}[style=sh]
+       file 'name.webm001'
+       file 'name.webm002'
+       ...
+       file 'name.webm00n'
+  \end{lstlisting}
+  and finally give the command
+  \begin{lstlisting}[style=sh]
+       ffmpeg -f concat -i list.txt -c copy output.webm
+  \end{lstlisting}
 \end{description}
 
 \subsection{Quick and Easy Render Farm Setup – The Buddy System
@@ -1404,7 +1414,7 @@ want to bother setting up NFS for a shared disk.
   add the plugins, such as a Title, etc.
 \item Check for a set of unused ports in \texttt{/etc/services}
   file, if username is root usually $401-425$ are available; if
-  non-root, then $1024-1079$.
+  non-root, then $10650-10799$.
 \item On the master computer, in \texttt{Settings $\rightarrow$
     Preferences, Performance} tab:
   \begin{itemize}
@@ -1422,13 +1432,13 @@ want to bother setting up NFS for a shared disk.
 /{cinelerra_pathname}/cin -d port#
 \end{lstlisting}
 \item On the master, bring up the render menu and name the output
-  files, for example \texttt{/tmp/myoutput.mp4}.
+  files, for example \texttt{/tmp/myoutput.webm}.
 \item The client nodes output results will be on their local
   \texttt{/tmp} filesystems so you will have to again use
   \textit{rsh/ftp} or \textit{usb sneaker net} to move them over to
   the main computer.  File names will be the render job output file
   name with port number tacked on
-  (e.g. \texttt{/tmp/hb.mp4001...mp4005}).
+  (e.g. \texttt{/tmp/hb.webm001...webm005}).
 \item Load the files by concatenate to existing track on the master
   node or use RenderMux shell script.
 \end{enumerate}
@@ -1439,10 +1449,10 @@ want to bother setting up NFS for a shared disk.
 
 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
+all of the cores at 100\%. 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; 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
+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 (-1) 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 \textit{Project SMP
 cpus} in the \texttt{Settings $\rightarrow$ Preferences, Performance} tab to your CPU
@@ -1477,7 +1487,7 @@ list of items to check.
   section of the video so keep that in mind when designating port
   numbers.
 \item If not running as root, a port number in the higher range of
-  $1024$ and above must be used instead of the $400+$ range.
+  $10650$ and above must be used instead of the $401+$ range.
 \item The master and client jobs on the ports do not go away so if
   you want to stop them, you will have to kill them via: \texttt{kill
     PID\#}.
@@ -1507,7 +1517,7 @@ list of items to check.
   time.  You can adjust the timer in \texttt{Settings $\rightarrow$
     Preferences, Performance} tab.
 \item When you get the message \texttt{RenderFarmClient::main\_loop:
-    bind port 400: Address already in use}, use a different port.
+    bind port 400: Address already in use}, use a different port. See \texttt{/etc/services} for free ports.
 \item A message of \texttt{RenderFarmServerThread::open\_client:
     unknown host abcompany} means that the hostname of abcompany is not
   in \texttt{/etc/hosts} so you will have to add it or use the ip
index da8b24175fcff861b8b2978d820a874594690742..239f41d71eae02b0a7270e1019747952d9320cf2 100644 (file)
@@ -210,6 +210,8 @@ There are currently 2 actions implemented:
 
 This is \textit{simple} animation so you can expect speech synthesis not to be that good.  And you will have to adjust punctuation and spelling based on the sound.  Since the dialog is rendered on-demand, there is a delay when each character starts to speak but you can split dialog into shorter blocks to reduce the delay.
 
+You can see a step by step example in the website \url{http://www.g-raffa.eu/Cinelerra/HOWTO/animations.html}
+
 \section{Textbox Non-std Character / Unicode Insertion}%
 \label{sec:textbox_non_std_character_unicode}
 \index{unicode insertion}
index 7d4ecce4e2139de12da18a6a09f15eb90a1a6113..d564ea61a4efb2d875d419af11e15788762e94fd 100644 (file)
@@ -437,9 +437,9 @@ With the X11 video driver choice, large format files such as 4K, will playback f
 \section{Proxy Settings and Transcode}%
 \label{sec:proxy_settings}
 
-Info on proxies in \nameref{sec:proxy}
+Information on proxies to reduce required CPU for less powerful computers is in the section \nameref{sec:proxy}.
 
-Info on transcode in \nameref{sec:transcode}
+Information on transcode which is used to provide keyframes to make the video seekable is in the section \nameref{sec:transcode}.
 
 
 
@@ -736,3 +736,12 @@ Another way to change duration slightly is to go to the Resources window, highli
 
 You can see that the camera smoothly flows from keyframe point to next keyframe point, as \CGG{} automatically adjusts the camera movement in straight lines from point to point.
 
+\subsection{Video lagging behind Audio}%
+\label{sub:video_lagging}
+
+When there is a lag between the Audio and the Video, it can be because there are a lot of video frames
+and the computer can not display them as fast as the Audio can play the samples.  However, this does
+not affect the rendered media in that the Audio and Video will be correctly synchronized. When playing
+the original media, you can alleviate the lag between the Audio and Video by disabling
+\textit{Play every frame} in \texttt{Settings $\rightarrow$ Preferences, Playback A} tab.  Now frames
+will be skipped in order to keep the audio/video in synch.