Bonjour,
je travaille sur une petite appli qui prend une vidéo (avi) en entrée et produit une vidéo (avi) aux mêmes caractéristique (frame rate, dimensions, etc, etc) en utilisant vfw.
Cette appli doit juste modifier chacune des images de la vidéo d'entrée. Donc pour la création du flux vidéo aucun problème : la vidéo en sortie est la copie conforme de la vidéo en entrée (avec un traitement sur chaque image).
Par contre je bute sur le transfert du flux audio de la vidéo en entrée a la video en sortie : je veux le transférer sans aucune modification.
J'ai essayé avec AVIStreamRead et AVIStreamWrite mais le mieux que j'arrive à produire est un flux audio incompréhensible.
Alors je voudrais savoir si je pouvais plutot utiliser la fonction EditStreamClone pour cloner le flux audio et comment m'y prendre ; j'avoue que les exemples et les explications sont rares sur la toile.
J'ai produit ce code là :
ou audioStream est le PAVISTREAM du flux audio de la video source.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 bool CopyAudioStream(PAVISTREAM & audioStream) { PAVISTREAM newstream; // creation of an editable stream if(CreateEditableStream(&newstream , audioStream)) { ShowMessage("Error with CreateEditableStream"); } // clone the audio stream if(EditStreamClone(audioStream, &newstream)) { ShowMessage("Error with EditStreamClone"); } // ........... Intégrer le nouveau PAVISTREAM au PAVIFILE de la video de sortie // close the new audio stream AVIStreamRelease(newstream); }
Cependant la fonction EditStreamClone me renvoie une erreur à l'exécution.
Par ailleurs comment ensuite intégrer le PAVISTREAM cloné dans le PAVIFILE de la video de sortie ?
Si quelqu'un ayant déjà utilisé "EditStreamClone" peut m'aider.
Merci.
Flo.
Partager