Comment réaliser techniquement un film en stopmotion sous linux

Rédigé par marmous Aucun commentaire
Classé dans : En vrac, DIY Mots clés : linux, stopmotion, mogrify, mencoder
Cet été, j'ai été amené à travailler sur la partie technique d'un court métrage en stopmotion.

Il existe des solutions libres orientées animation tel que stopmotion ou luciole permettant de prendre les photos une à une en maitrisant  un décor.
Dans mon cas les images ont été prises sur le terrain et je n'y étais pas. Les sujets étaient des humains qu'il fallait prendre en situation de travail. Ce ne sont ni des modèles ni des comédiens. Il était donc hors de question de leur faire perdre leur temps à poser pendant des heures.
J'ai eu besoin d'un système simple car je travaillais dans l'urgence pour renommer, recadrer et assembler toutes les photos.

Pour renommer, j'ai utilisé PyRenamer (source) qui permet, entre autre, de renommer des fichiers par lot avec numérotation automatique, justement ce dont j'avais besoin.

Pour recadrer, j'ai utilisé Mogrify un outil de la suite ImageMagick pour manipuler des images en ligne de commande.
Voici un exemple pour redimentionner tous les fichiers jpeg du répertoire courant en format full HD (1920x1080)
mogrify -path . -resize 1920x1080 -quality 97 -format jpg *.jpg

Pour assembler les photos en une vidéo, j'ai utilisé MEncoder un outil de la suite MPlayer pour encoder des vidéos.
Voici un exemple pour générer une vidéo HD à 5 image par seconde en utilisant tous les fichiers jpeg du répertoire courant
mencoder mf://*.jpg -mf w=1620:h=1080:type=jpeg:fps=5 -ovc copy -oac copy -o output.avi

Enfin, j'ai utilisé KDEnLive pour ajouter de la musique et monter tout ça.


TSQL Astuce 5 : Modifier une date par un modificateur

Rédigé par marmous Aucun commentaire
Classé dans : Informatique Mots clés : developpement, TSQL, SQL Server
Le but est d'autoriser l'utilisateur à écrire un modificateur pour modifier une date. Cela permet d'être plus dynamique.
Un modificateur se compose de 3 parties :
   - Type d'opération sous la forme + ou  -
   - Valeur à appliquer
   - Partie de la date à modifier sous la forme d pour jour, w pour semaine, m pour mois et y pour année

La fonction se présente sous la forme :
CREATE FUNCTION [dbo].[ApplyDateModifier]
(
@date varchar(32),
@modifier varchar(32)
)
RETURNS varchar(32)
AS
BEGIN

declare @return varchar(32),
@type char

set @return=@date
set @type=(substring(reverse(Lower(@modifier)),1,1))

if (@type='y')
begin
set @return=dbo.FormatDate(DATEADD(YEAR, convert(int,replace(@modifier,@type,'')),@date) ,'yyyymmdd')
end

if (@type='m')
begin
set @return=dbo.FormatDate(DATEADD(MONTH, convert(int,replace(@modifier,@type,'')),@date) ,'yyyymmdd')
end

if (@type='w')
begin
set @return=dbo.FormatDate(DATEADD(WEEK, convert(int,replace(@modifier,@type,'')),@date) ,'yyyymmdd')
end

if (@type='d')
begin
set @return=dbo.FormatDate(DATEADD(DAY, convert(int,replace(@modifier,@type,'')),@date) ,'yyyymmdd')
end

return @return

END
On utilise ici la fonction système DateAdd et la fonction vue précédemment FormatDate.

Exemple d'utilisation
select dbo.ApplyDateModifier(GetDate(),'3d');
Cela affichera la date du jour + 3 jours

La limite de cette fonction est qu'elle ne peut mélanger plusieurs partie à modifier.

De l'apprentissage et de la créativité

Rédigé par marmous Aucun commentaire
Classé dans : En vrac Mots clés : apprentissage, créativité, réflexion
La musique a toujours été une passion pour moi. Quand je me suis décidé à passer de l'autre côté et donc à apprendre à jouer d'un instrument, un éventail de questions s'est ouvert à moi.

Peut on être créatif si l'on marche dans les pas d'un autre ?
Doit-on accepter le conditionnement au risque de perdre sa vision originelle ?

Au démarrage de l'apprentissage d'une nouvelle discipline nous sommes en droit de nous demander si l'apprentissage en autodidacte ne nous permettrait pas de appréhender celle-ci par un nouvel angle. Cette démarche peut sembler audacieuse en ce sens où il est communément admis que seuls les génies peuvent appréhender quelque chose avec une vision novatrice. Je pense que c'est faux. Nous avons chacun une vision différente du monde, c'est d'ailleurs ce qui rend le monde intéressant, nous avons tous une éducation, des expériences, une culture différentes. Même si tout est catégorie, norme et standard, nous restons différents par notre individualité, nos pensées et nos réflexions. Nous sommes donc tous des génies.  Le tout est de pouvoir se libérer des contraintes intellectuelles imposées par des standards et des pratiques populaires. Il est très difficile de pouvoir se libérer de telles contraintes. Une autre solution pourrait être de ne pas se laisser conditionner par un apprentissage standardisé et la vision du professeur. Même un très bon professeur ne peut pas ne pas transmettre sa vision, même si son intention est d'être neutre. Le travail de l'élève est alors de faire fi de cette vision imposée. Mais, premièrement, ce n'est pas chose aisée et, deuxièmement, cela nécessite d'avoir assimilé l'essentiel et d'avoir le recul nécessaire pour distinguer la vision du professeur. c'est donc une pratique longue et laborieuse.

Doit-on commencer chaque apprentissage en autodidacte au risque de perdre son temps ?
Je pense qu'une des solutions à ce problème est de commencer l'apprentissage en autodidacte. Cela permet de se familiariser avec la discipline sans douleur et à son rythme. L'appropriation se fait alors naturellement et l'apprentissage et la mémorisation est plus simple. Quand le sujet se sent prêt ou qu'il est en perte de motivation, il peut envisager de commencer un apprentissage plus standard. Il n'aura donc pas perdu son temps car il aura créé un lien avec la discipline en question.

Une méthode d'apprentissage universelle est-elle réaliste ?
Comme je le disais précédemment tout le monde est unique, tout le monde est différent, chacun a sa propre vision du monde. Il est donc peu probable qu'une méthode universelle pouvant convenir à tout un chacun existe. Toutefois la méthode que j'évoque (c'est pas vraiment une méthode) permet d'avancer à son rythme, de s'approprier le domaine en question avec sa propre vision et après de l'étoffer avec celle des autres et d'une certaine manière permet de prendre un plus confiance en soi. Donc n'imposant pas une vision mais s'adaptant à l'apprenti cette méthode (c'en est toujours pas une) est plus souple et plus respectueuse. Elle permet une plus grande diversité et encourage une créativité et une originalité.

TSQL Astuce 4 : Fonction de formatge de date

Rédigé par marmous Aucun commentaire
Classé dans : Informatique Mots clés : developpement, TSQL, SQL Server
Il m'est souvent utile de devoir formater une date.

Pendant longtemps j'ai utilisé ça :
Declare @Date SmallDatetime
set @Date = GetDate()

print Right('00' + convert(varchar,DatePart(Day, @Date),2) +
'/' +
Right('00' + convert(varchar,DatePart(Month, @Date),2) +
'/' +
Convert(varchar, DatePart(Year,@Date)

Cette solution, loin d'être élégante, a de nombreux défauts.
Elle n'est pas lisible.
Elle n'accepte qu'un seul format. Si le format change je dois changer toute la formule.
Elle s'utilise en copier/coller et est donc source d'erreur.

Pour tous ces points, j'ai créé une fonction qui prend en paramètre une date et un format et qui retourne cette date formaté.

CREATE FUNCTION [dbo].[FormatDate]
(
@date smalldatetime,
@format nvarchar(30)
)
RETURNS nvarchar(30)
AS
BEGIN

declare @nbAnnee int,
@nbMois int,
@nbJour int,
@Annee varchar(4),
@Mois varchar(2),
@Jour varchar(2),
@separator varchar(1),
@index int,
@character char,
@InsertAnnee bit,
@InsertMois bit,
@InsertJour bit,
@dateOutput varchar(30)

set @nbAnnee = 0
set @nbMois = 0
set @nbJour = 0
set @separator = ''
set @index = 1
set @dateOutput = ''
set @InsertAnnee = 0
set @InsertMois = 0
set @InsertJour = 0

while (@index<=len(@format))
begin
set @character = substring(@format,@index,1)

if (@character = 'Y')
begin
set @nbAnnee=@nbAnnee+1
end
else
begin
if (@character = 'M')
begin
set @nbMois=@nbMois+1
end
else
begin
if (@character = 'D')
begin
set @nbJour=@nbJour+1
end
else
begin
set @separator = @character
end
end
end

set @index = @index +1
end

set @Annee = Right('0000' + Convert(varchar,Year(@date)),@NbAnnee)
set @Mois = Right('00' + Convert(varchar,Month(@date)),@NbMois)
set @Jour = Right('00' + Convert(varchar,Day(@date)), @NbJour)

set @index = 1
while (@index=@index)
begin
set @character = substring(@format,@index,1)

if (@character='Y')
begin
if (@InsertAnnee = 0)
begin
set @dateOutput = @dateOutput + @Annee
set @InsertAnnee = 1
end
end
else
begin
if (@character='M')
begin
if (@InsertMois = 0)
begin
set @dateOutput = @dateOutput + @Mois
set @InsertMois = 1
end
end
else
begin
if (@character='D')
begin
if (@InsertJour = 0)
begin
set @dateOutput = @dateOutput + @Jour
set @InsertJour = 1
end
end
else
begin
set @dateOutput = @dateOutput + @separator
end
end
end

if (@InsertAnnee = 1) and (@InsertMois = 1) and (@InsertJour = 1)
begin
break
end

set @index = @index +1
end

return @dateOutput

END

Cette fonction réalise son traitement en plusieurs étapes.
1ere étape : elle récupère le nombre de caractères demandé pour chaque type (Jour, Mois, Année)
2e étape : elle formate chaque type suivant la 1ere étape
3e étape : elle position chaque type et séparateur suivant le chaine de formatage passé en paramètre

Voici un exemple d'utilisation
select dbo.FormatDate(GetDate(),'dd/mm/yyyy')

A noter qu'à partir de SQL Server 2014, il existe la commande Format.
select format(GetDate(),'d','fr-fr')

De la sincérité de l'artiste

Rédigé par marmous Aucun commentaire
Classé dans : En vrac Mots clés : créativité, oeuvre, sincérité
Suite à lecture de cet article de Thomas Munier sur la créativité et a une chanson du dernier album des Wampas (La Fille Du Train Chenille) et spécialement cette phrase "La difficulté d'être artiste et d'être honnête", je me rappelé un vieux souvenir télévisuel amer.

Le souvenir d'une soirée spéciale Julien Clerc sur TF1 est revenue à moi. Cette soirée a été diffusée diffusée il y a presque 20 ans. Je devais avoir une dizaine d'année. Il y avait beaucoup d'interview, de biographie, ..etc Il y a une interview qui m'a marqué. Julien Clerc expliquait qu'au départ les paroles de sa chanson "Mélissa" étaient différentes. Au lieu de "Ma métisse est nue" il avait écrit "Mon Matisse à nu". Son producteur avait fait réalisé un sondage et le grand public ne connaissait pas assez Matisse donc il a changé son texte. Pour ma part, un artiste qui pense en terme de marché et d'ouverture au public n'est plus un artiste. C'est tout au plus un entrepreneur. Personnellement cette anecdote m'a interpelé quand j'ai vu l'émission et maintenant elle me dégoute car elle représente un des gros travers de notre époque. Le peuple ne pourra jamais s'élever si on ne lui en donne pas les moyens.

Tout cela soulève des questions intéressantes sur l'élitisme. Une œuvre doit-elle être accessible au plus grand nombre ?
Un artiste existe pour offrir une autre vision à ceux qui regarderont son œuvre. Si l'œuvre est tout de suite compréhensible par le plus grand nombre alors elle n'offre aucune vision nouvelle. Elle reflète seulement la vision de la masse populaire. Donc oui une œuvre ne doit être accessible de prime abord mais elle doit offrir des passerelles pour être tout de même compréhensible. Par exemple, le jeu de rôle Sens de Romaric Briand est de prime abord assez obscur pour qui n'a jamais étudier de philosophie. Pourtant, par l'intermédiaire de la disponibilité de l’auteur sur un forum dédié et accessible à tous et par l’intermédiaire de podcast dédié (les podcasts de la Cellule), ce jeu de rôle est accessible et offre une expérience très intéressante aux joueurs et au meneur.

Pour compléter l'article de Thomas, j'aimerais aborder un sujet qu'il effleure du bout des doigts : l'intention de l'artiste. Il parle de l'amour. L'amour n'est qu'une intention parmi d'autres. Il peut en avoir une infinité d'autres. Lorsque l'on s'exprime, nous avons toujours l'intention de dire quelque chose intentionnellement ou pas. C'est la définition même de s'exprimer. Même si on a rien à dire et que l'on s'exprime, on dit qu'on a rien à dire. d'où cette phrase célèbre de Michel Audiard "C'est pas parce qu'on rien à dire qu'il faut fermer sa gueule.". Certains n'ont peu ou rien à dire mais ils le disent extrêmement bien car ils ne mettent pas leur créativité au service de leur message mais au service de l'enveloppe de leur message, dans un sens sur l'expérience que leur œuvre pourra offrir. D'autres à l'inverse s’efforcent à exprimer un message convainquant dans une forme esthétique.
Il ne faut pas se leurrer, quelques soient les intentions de l'artiste, c'est "le regardeur qui fait l’œuvre" (Marcel Duchamp). Une œuvre touchera les être qui la contemple d'une façon à chaque fois différente, d'une façon que l'artiste n'aura peut être même pas imaginée.
Une fois achevée, une œuvre a une vie propre et n'appartient plus à son créateur.
Fil RSS des articles