Programmation C et flux multimedia
Dans cette session, nous verrons un aperçu de concepts de programmation à l’aide du langage C qui est (avec ses variantes C++, Objective C, C#) très utilisé dans l’industrie. Nous prendrons pour exemple une bibliothèque de manipulation de sons et d’images afin d’étudier et de modifier des petites fonctions d’un module utilisé par un mini-lecteur multimedia.
Objectifs pédagogiques
- Syntaxe de base C: fonction, variable, condition, structure, switch, etc
- Compilation d’un programme.
- Execution de programme avec arguments.
- Structure de graphe.
- Édition d’une mini-bibliothèque C
- Bibliothèque GStreamer.
Déroulement possible de la session
- Introduction.
- Compilation avec
make
et execution du programme avec./run-pipeline
. - Télécharger
https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.webm
et passer le fichier comme argument de./run-pipeline
. - Étudier pipeline.h et pipeline.c
- Modifier
print_keyboard_commands()
pour afficher un message différent. - Ajouter une commande ‘P’ dans
handle_keyboard_command()
qui affiche si le son est allumé ou éteint. - Ajouter des commandes ‘+’ et ‘-‘ pour augmenter ou diminuer le volume
- Ajouter des filtres vidéo dans
setup_pipeline()
, par exemple mirror, ASCII art, rotate, etc - Selon le temps disponible, ajouter plus de filtres et de commandes.
Installation
L’environnement suivant sera mis à disposition pour cette session:
- Linux Mint >= 21
- Paquets
make gcc libgstreamer1.0-dev