Encodage vidéo
douta53
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
douta53 Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
douta53 Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je souhaite écrire mon propre encodeur/décodeur vidéo de façon très simple, en C++.
L'objectif est d'avoir un flux vidéo en entrée, de l'encoder puis de le décoder pour avoir un autre flux vidéo en sortie. Et tout ça sans passer un autre encodage que le mien.
Le problème c'est que j'ai du mal à identifier les librairies qui peuvent par exemple extraire des image d'un flux sans les transcoder, et créer un flux à partir d'images sans les transcoder.
Pouvez-vous m'aider ?
Merci!
Je souhaite écrire mon propre encodeur/décodeur vidéo de façon très simple, en C++.
L'objectif est d'avoir un flux vidéo en entrée, de l'encoder puis de le décoder pour avoir un autre flux vidéo en sortie. Et tout ça sans passer un autre encodage que le mien.
Le problème c'est que j'ai du mal à identifier les librairies qui peuvent par exemple extraire des image d'un flux sans les transcoder, et créer un flux à partir d'images sans les transcoder.
Pouvez-vous m'aider ?
Merci!
A voir également:
- Encodage vidéo
- Montage video windows - Guide
- Comment télécharger une vidéo youtube - Guide
- Nommez une application d'appel vidéo ou de visioconférence - Guide
- Insérer video powerpoint - Guide
- Freemake video downloader - Télécharger - Téléchargement & Transfert
1 réponse
'lut, pour faire un encodeur/décodeur il faut que tu aies des images en format brut, non encodées dans un format vidéo, à traiter. Le hic, c'est que sans nous dire quelle est la source, on ne peut pas t'indiquer quoi utiliser pour extraire les dites images...
Sur Windows, tu peux extraire les images affichées à l'écran avec DirectX je crois, et sortir des images d'une caméra via WMI.
Sous Linux, l'écran se capture via des API X11, et la caméra via V4L2...
Ce ne sont que des exemples. Et dans la plupart des cas, le format que tu obtiens est déjà compressé (JPEG), ou dans des formats légèrement exotiques (YrCrB, ...)
from human import idiocy
del idiocy
Sur Windows, tu peux extraire les images affichées à l'écran avec DirectX je crois, et sortir des images d'une caméra via WMI.
Sous Linux, l'écran se capture via des API X11, et la caméra via V4L2...
Ce ne sont que des exemples. Et dans la plupart des cas, le format que tu obtiens est déjà compressé (JPEG), ou dans des formats légèrement exotiques (YrCrB, ...)
from human import idiocy
del idiocy
Alors du coup l'objectif serait plutôt de partir d'images sources (par exemple, de format bmp), d'encoder ces images via un certain algorithme qui les stocke sous une certaine forme. (disons, un matrice)
Puis à partir des ces images encodées, j'aimerais pouvoir créer un flux vidéo (après un éventuel décodage de chaque image). Enfin, à partir du flux vidéo créé, il faudrait être en mesure d'extraire les images, de les ré-encoder et que la matrice soit alors identique pour chaque image avant/après.
j'espère que je suis clair....
J'ai par exemple utilisé Xuggler pour extraire mes images d'un flux, et recréer une vidéo à partir de ces images, mais il effectue un ré-encodage lors de la création de la vidéo et les images sont différentes.
merci
Mais du coup, quelle est ta question?
Si c'est "comment on lit les PNG", y'a plein d'exemples sur le net (utilisant libpng, stb_image, ...). Tu peux aussi extraire les images de ton flux dans un format non compressé (NetPBM/PGM, Truevision TGA, BMP).
Si c'est "comment on encode/décode", il existe des explications sur le fonctionnement des compressions et encodages sur le net, mais ce n'est pas un sujet facile, encore moins si tu encodes entre trames, ce qui est un peu le but d'un encodage vidéo.
Est-il possible de créer une vidéo à partir d'images, puis d'extraire ces images, sans AUCUNE perte d'information sur les images ?