Compare commits
2 Commits
d79a55fd2e
...
e42385e732
Author | SHA1 | Date | |
---|---|---|---|
e42385e732 | |||
a74069b7f2 |
@ -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;
|
||||||
|
@ -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
31
chap/shell.tex
Normal 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
|
||||||
|
|
||||||
|
|
||||||
|
% ==============================================================
|
@ -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}
|
||||||
|
@ -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}
|
||||||
|
|
||||||
% --------------------------------------------------------------------
|
% --------------------------------------------------------------------
|
||||||
|
|
||||||
|
1
main.tex
1
main.tex
@ -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}
|
||||||
|
Loading…
Reference in New Issue
Block a user