Compare commits
No commits in common. "e42385e732e9f3448c38d02ab057ca0fd04dcfb7" and "d79a55fd2e4f6d71bd8a818d269d938164d67465" have entirely different histories.
e42385e732
...
d79a55fd2e
@ -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);
|
device = ao_open_live(default_driver, &format, NULL /* no options */);
|
||||||
if (device == NULL) {
|
if (device == NULL) {
|
||||||
fprintf(stderr, "Error opening device.\n");
|
fprintf(stderr, "Error opening device.\n");
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -5,47 +5,11 @@
|
|||||||
|
|
||||||
\section{ImageMagick}\index{ImageMagick}
|
\section{ImageMagick}\index{ImageMagick}
|
||||||
|
|
||||||
Attention, ça va devenir \textsl{hardu}%
|
Attention, ça va devenir \textsl{hardu}\dots
|
||||||
\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}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,31 +0,0 @@
|
|||||||
\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
|
|
||||||
|
|
||||||
|
|
||||||
% ==============================================================
|
|
@ -1,10 +1,6 @@
|
|||||||
\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).
|
|
||||||
|
|
||||||
% --------------------------------------------------------------------
|
% --------------------------------------------------------------------
|
||||||
|
|
||||||
@ -112,10 +108,6 @@ 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}
|
||||||
|
@ -3,42 +3,15 @@
|
|||||||
% --------------------------------------------------------------------
|
% --------------------------------------------------------------------
|
||||||
|
|
||||||
\chapter{Webcam}
|
\chapter{Webcam}
|
||||||
\label{chap:webcam}
|
\label{webcam}
|
||||||
\index{webcam}
|
\index{webcam}
|
||||||
|
|
||||||
Sous Linux, c'est quand même un peu tordu%
|
Sous Linux, c'est quand même un peu tordu, dans le même genre
|
||||||
\footnote{Avis personnel !}, dans le même genre
|
que la pile son, quoi... Nous allonc commencer par le plus
|
||||||
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}
|
||||||
|
|
||||||
@ -55,18 +28,5 @@ 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}
|
|
||||||
|
|
||||||
% --------------------------------------------------------------------
|
% --------------------------------------------------------------------
|
||||||
|
|
||||||
|
1
main.tex
1
main.tex
@ -62,7 +62,6 @@ 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}
|
||||||
|
Loading…
Reference in New Issue
Block a user