Compare commits

...

2 Commits

Author SHA1 Message Date
tth
e42385e732 bla 2020-11-02 23:08:45 +01:00
tth
a74069b7f2 bla 2020-11-01 19:32:45 +01:00
6 changed files with 123 additions and 7 deletions

View File

@ -41,7 +41,7 @@ format.rate = 44100;
format.byte_format = AO_FMT_LITTLE; format.byte_format = AO_FMT_LITTLE;
/* -- Open driver -- */ /* -- Open driver -- */
device = ao_open_live(default_driver, &format, NULL /* no options */); device = ao_open_live(default_driver, &format, NULL);
if (device == NULL) { if (device == NULL) {
fprintf(stderr, "Error opening device.\n"); fprintf(stderr, "Error opening device.\n");
return 1; return 1;

View File

@ -5,11 +5,47 @@
\section{ImageMagick}\index{ImageMagick} \section{ImageMagick}\index{ImageMagick}
Attention, ça va devenir \textsl{hardu}\dots Attention, ça va devenir \textsl{hardu}%
\footnote{Nous attendons tous avec impatience l'ouvrage de Brunus},
l'abondance d'options
des outils imagemagick est vraiment énorme, et leurs
interactions parfois troublantes\dots
\subsection{Écrire du texte}
Voici un exemple concret
(tiré du script d'encodage du \textsc{cloître}\index{cloître})
qui montre l'essentiel pour bien débuter. C'est une fonction
écrite en bash\index{bash} qui rajoute un texte sur une image :
\begin{verbatim}
function tagpic
{
infile="$1"
outfile="$2"
texte="$3"
txtfont=" -font Utopia "
fontsize=" -pointsize 96 -kerning 6 "
color=" -fill Gray20 -stroke White "
txtopts=" -antialias -alpha off $txtfont "
convert $infile \
${txtopts} \
${txtfont} ${fontsize} \
${color} \
-gravity South \
-annotate +0+85 "${texte}" \
$outfile
}
\end{verbatim}
Quelques explications...
% ------------------------------------------------------------------- % -------------------------------------------------------------------
\section{Gmic}\index{Gmic}

31
chap/shell.tex Normal file
View File

@ -0,0 +1,31 @@
\chapter{Le Shell}\index{shell}
Le \texttt{shell} est le coquillage qui isole le MC/P des yusers.
En gros, hein, je vais simplifier, et me limiter aux
bricolages constructifs et/ou amusant. Il y aura du gore\index{gore}
aussi.
Le shell est à la fois un interpréteur de commande et un
langage de programmation. Ces deux notions ont beaucoup de
choses en commun.
% ==============================================================
\section{Interpréteur}\index{cli}
Ceci est un prompt. Son petit nom est \texttt{PS1}.
% ==============================================================
\section{Langage}\index{script}
Parlons un peu du \textsc{shebang}\index{shebang}\dots
% ==============================================================
\section{Questions à voir}
\dots
% ==============================================================

View File

@ -1,6 +1,10 @@
\chapter{Vidéo} \chapter{Vidéo}
\label{chap:video} \label{chap:video}
Le traitement de la vidéo, c'est vraiment compliqué : entre
les multiples \textsl{codec} et les multiples \textsl{containers},
on est rapidement perdu. Voici donc quelques recettes de cuisine
à appliquer avec modération (et respect des gestes barrières).
% -------------------------------------------------------------------- % --------------------------------------------------------------------
@ -108,6 +112,10 @@ ffmpeg -nostdin \
wip.mp4 wip.mp4
\end{verbatim} \end{verbatim}
\subsection{Questions}
Quand on encode images+son, comment arreter au plus court des deux ?
% -------------------------------------------------------------------- % --------------------------------------------------------------------
\section{Autres trucs} \section{Autres trucs}

View File

@ -3,15 +3,42 @@
% -------------------------------------------------------------------- % --------------------------------------------------------------------
\chapter{Webcam} \chapter{Webcam}
\label{webcam} \label{chap:webcam}
\index{webcam} \index{webcam}
Sous Linux, c'est quand même un peu tordu, dans le même genre Sous Linux, c'est quand même un peu tordu%
que la pile son, quoi... Nous allonc commencer par le plus \footnote{Avis personnel !}, dans le même genre
que la pile son, quoi...
Nous allonc commencer par les principes et outils
de base, puis passer à plus
simple : juste tenter de prendre une photo avec une simple : juste tenter de prendre une photo avec une
\textsl{webcam} classique en USB, et d'enregistrer cette \textsl{webcam} classique en USB, et d'enregistrer cette
image. image.
% --------------------------------------------------------------------
\section{v4l2}\index{v4l2}
\textsl{Video For Linux, second edition.}
\begin{verbatim}
tth@delirium:~/Essais/Fonderie$ v4l2-ctl --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
Type: Video Capture
[0]: 'MJPG' (Motion-JPEG, compressed)
Size: Discrete 640x480
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 320x240
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 1920x1080
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 1280x720
Interval: Discrete 0.033s (30.000 fps)
\end{verbatim}
% --------------------------------------------------------------------
\section{vgrabbj} \section{vgrabbj}
\index{vgrabbj} \index{vgrabbj}
@ -28,5 +55,18 @@ les capacités du périphérique v4l\index{v4l}.
% -------------------------------------------------------------------- % --------------------------------------------------------------------
\section{Cheese}
\begin{quote}
cheese uses your webcam to take photos and videos, applies fancy special
effects and lets you share the fun with others. It was written as part of
Google's 2007 Summer of Code lead by daniel g. siegel and mentored by Raphaël
Slinckx. Under the hood, Cheese uses GStreamer to apply fancy effects to photos
and videos. With Cheese it is easy to take photos of you, your friends, pets or
whatever you want and share them with others. After the success of the Summer
of Code, the development continued and we are still looking for people with
nice ideas and patches ;)
\end{quote}
% -------------------------------------------------------------------- % --------------------------------------------------------------------

View File

@ -62,6 +62,7 @@ Your mileage may vary\dots
} }
% ============================================================== % ==============================================================
\input{chap/shell}
\input{chap/editeurs} \input{chap/editeurs}
\input{chap/son} \input{chap/son}
\input{chap/image} \input{chap/image}