Manipuler une vidéo - C++ - Programmation
Marsh Posté le 11-05-2003 à 09:02:32
Je n'y connais rien, mais il me semble que la phase de décompression/recompression est inévitable, non? A moins de ne rien modifier. Enfin, corrigez-moi si je me trompe.
Marsh Posté le 11-05-2003 à 09:21:23
Ace17 a écrit : Je n'y connais rien, mais il me semble que la phase de décompression/recompression est inévitable, non? A moins de ne rien modifier. Enfin, corrigez-moi si je me trompe. |
Bah, non, c'est ce que l'on appelle le stream-copy. On prends le flux compressé dans le fichier source et on le met directement dans le fichier destination sans y toucher. Comme il n'y a pas de changement à faire dans la vidéo (ou le son) pas besoin de décompresser/recompresser.
Marsh Posté le 11-05-2003 à 12:13:20
kadreg a écrit : |
et tu as idée de comment je peux faire ça?
Marsh Posté le 11-05-2003 à 12:17:50
haazheel a écrit : |
DirectShow te permet de manipuler les flux video dans tous les sens.
Marsh Posté le 11-05-2003 à 12:20:40
Moi j'ai découvert ces choses-là en regardant le code de avs2avi, un petit soft développé par un mec qui traie sur le forum de doom9 (http://forum.doom9.org).
Apres il y a plusieurs aspects : il faut deja extraire la video de son conteneur (avi, ogm, msk...), manipuler le flux, et réécrire un conteneur.
chaque conteneur est manipulable via la lib adequate, il suffit de se taper la doc.
Si tu es plus chaud, un petit (gros en fait) coup d'oeil dans le code de virtualdubmod devrait t'apprendre un tas de choses.
Marsh Posté le 11-05-2003 à 14:02:53
Tetragrammaton IHVH a écrit : |
Directshow décompressera obligatoirement les flux, non ? A moins de refaire tous les filtres pour le graphe, je ne vois pas trop comment tu peux éviter ca ...
Marsh Posté le 11-05-2003 à 15:36:37
theShOcKwAvE a écrit : |
Pas forcemment... En tous cas, quand tu utilises DES (DirectShow Editing Services), il y a apparemment un mode Smart Render qui ne recompresse pas les fichiers si ce n'est pas indispensable :
MSDN a écrit a écrit : With smart recompression, source files are recompressed only when the original file format differs from the final output format. If the formats match, the source is never decompressed. Smart recompression is supported only for video compression, not for audio compression. |
Marsh Posté le 11-05-2003 à 15:47:31
gatorette a écrit : |
classe !
Marsh Posté le 11-05-2003 à 21:36:31
R3g a écrit : Moi j'ai découvert ces choses-là en regardant le code de avs2avi, un petit soft développé par un mec qui traie sur le forum de doom9 (http://forum.doom9.org |
J'ai pas trouvé le code source de ce soft...
gatorette a écrit : Pas forcemment... En tous cas, quand tu utilises DES (DirectShow Editing Services), il y a apparemment un mode Smart Render qui ne recompresse pas les fichiers si ce n'est pas indispensable : |
Pour utiliser Direct Show, il faut que je télécharge le sdk non?
Marsh Posté le 12-05-2003 à 07:31:49
Oui, je pense qu'il faut effectivement d/l le directX sdk sur le site de micro$oft ...
Marsh Posté le 12-05-2003 à 09:56:50
Tu devrais trouver ton bonheur à l'adresse suivante pour le DXSDK
http://msdn.microsoft.com/library/ [...] irectx.asp
Le Runtime DirextX9 est fourni avec le SDK (les versions Debug et Retail)
Marsh Posté le 12-05-2003 à 16:21:47
J'ai juste besoin de ça:
DirectX 9.0 SDK for C/C++ |
Ca suffira?
Marsh Posté le 12-05-2003 à 22:06:32
pfff, 100 Mo, font chier...
mais bon pour l'instant je sais pas encore si j'en ai besoin, je me suis lancé dans l'étude des sources de AVS2AVI et VirtualDub, et j'y ai vu plein de fonctions sympa...
A moins qu'utiliser DShow soit plus rapide que ce qu'utilise VirtualDub?
Mais comme je risque de fatalement avoir beaucoup de questions, vous connaitriez pas un site ou un forum traitant plus spécifiquement de ce sujet?
Merci...
Marsh Posté le 13-05-2003 à 10:26:41
Euh, petite question:
DirectShow permet de manipuler aussi des MPEG?
Parce que avec AVILib, je ne peux traiter que des ... AVI
Merci!!
Marsh Posté le 13-05-2003 à 11:24:05
haazheel a écrit : Euh, petite question: |
Oui, si je ne me trompe pas, il passe par les codecs installés sur ta machine, auquel cas ca marche aussi pour les Div-X .... La fête, non ?
Marsh Posté le 13-05-2003 à 11:25:10
haazheel a écrit : J'ai juste besoin de ça:
|
oui, ca devrait suffire !
Marsh Posté le 13-05-2003 à 11:46:42
haazheel a écrit : halala, qu'est-ce que je ferai sans toi!! |
Arrête, j'vais chopper la grosse tête !
Marsh Posté le 14-05-2003 à 08:59:52
haazheel a écrit : Mais comme je risque de fatalement avoir beaucoup de questions, vous connaitriez pas un site ou un forum traitant plus spécifiquement de ce sujet? |
Up!!
Marsh Posté le 14-05-2003 à 11:32:30
haazheel a écrit : |
http://www.msdn.com/
Edit : Normalement, tu devrais t'en tirer avec la doc et les exemples du SDK ... 'faut pas croire, mais on s'y retrouve, en fait !
Marsh Posté le 10-05-2003 à 20:55:08
Salut,
je voudrais savoir si vous saviez comment je peux manipuler de la vidéo, à savoir copier des morceaux d'une vidéo et les assembler...
Je voudrais que tout cela se fasse quel que soit le type de la vidéo (si c'est possible bien sûr), et sans passer par une phase de décompression/compression (comme le mode Direct Stream Copy de VirtualDub)...
Quelqu'un peut m'aider là dessus, sur les fonctions à utiliser?
Ou bien des liens à proposer?
Merci d'avance