From: Good Guy Date: Fri, 4 Nov 2022 20:16:17 +0000 (-0600) Subject: information on script for proxy creation speedup X-Git-Tag: 2022-11~7 X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcin-manual-latex.git;a=commitdiff_plain;h=b4dd00c37774b828f439c574eeab99e5aee2de68 information on script for proxy creation speedup --- diff --git a/parts/Advanced.tex b/parts/Advanced.tex index 5a0678e..3bbc702 100644 --- a/parts/Advanced.tex +++ b/parts/Advanced.tex @@ -64,7 +64,7 @@ Quality: -1 Pixels: yuv420p \end{lstlisting} -If you get errors for some videos, such as those with strange variable bit rate or some types of files made on a smartphone, an usually reliable alternative is to change the following parameters: +If you get errors for some videos, such as those with strange variable bit rate or some types of files made on a smartphone, a usually reliable alternative is to change the following parameters: \begin{lstlisting}[numbers=none] File Format: FFMPEG - mov @@ -80,6 +80,26 @@ If you get error messages \index{proxy!error} when creating proxies, check the V More specific information on which plugins need to use \textit{Proxy 1:1}. is provided here next. If the keyframe data uses coordinate data that is absolute, then the Factor scale = 1 should be used. If the data is normalized (like always $0-100\%$) then the proxy can be done with downsize (i.e. classic \textit{Proxy}). The session geometry format, shown in \texttt{Settings $\rightarrow$ Format} as $width \times height$, is changed if scale factor $\neq$ 1 is used to cause all of the data to be in the reduced format. If this affects the plugin operation, then \textit{Proxy 1:1} should be used. Examples of plugins that need the \textit{Proxy 1:1} are: Title, AutoScale, Scale, ScaleRatio, and Translate. Most others are safe to use with downsize. +A faster method of creating the proxy file outiside of \CGG{} for users who have +vaapi hardware acceleration capability on their graphics board is via a script. Speed +up could potentially be 10 to 30 times faster depending on the parameter values you choose +and the size of your video file. This script is included in the doc subdirectory as +vaapi\_proxy.sh for users not using an AppImage version and is shown below. You will +have to tune it to your specific needs for the vaapi\_device name (currently set to +/dev/dri/renderr128), file type (currently set to h264 and mp4), and proxy size (now is 6). + +\begin{lstlisting}[numbers=none] +#!/bin/bash +filename="$1" +fileout="${filename%.*}" +proxy="6" +# Hardware encode AMD +ffmpeg -threads 2 -hwaccel vaapi -vaapi_device /dev/dri/renderD128 \ + -i "$1" -c:v h264_vaapi -vf "format=nv12,hwupload,scale_vaapi=iw/'$proxy':ih/'$proxy'" \ + -vcodec h264_vaapi -preset fast -c:a copy \ + -bf 0 -profile:v 66 "$fileout".proxy"$proxy"-mp4.mp4 +\end{lstlisting} + \subsection{Proxies with Alpha channel}% \label{sub:proxies_alpha_channel}