begin process at 2010 02 10 11:02:02
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Multimédia

 > 

Copier StreamAudio d'un AVI to AVI


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Copier StreamAudio d'un AVI to AVI

samedi 29 octobre 2005 à 17:19:27 | Copier StreamAudio d'un AVI to AVI

Shadiest

    Ayant directement accés aux streams d'un fichier AVI, j'aimerai copier l'audio dans un autre AVI, le problème a déjà été rencontré ici mais n'a pas été résolu...

 merci pour votre aide
samedi 29 octobre 2005 à 21:13:13 | Re : Copier StreamAudio d'un AVI to AVI

Shadiest

En fait, l'idéal serait que je trouve une fonction qui ajoute un stream audio à un fichier AVI et prenant source un autre fichier AVI (ou un PAVISTREAM), si vous avez ça sous la main, faites moi signe...
dimanche 30 octobre 2005 à 01:38:05 | Re : Copier StreamAudio d'un AVI to AVI

Zootella

A mon avis il faut passer par 2 étapes :

- mettre le stream audio d'avi1 dans un fichier wav.
- ajouter le fichier wav dans avi2;

Pour coder ça, je m'y connais pas mais regarde du coté des logs virtualdub et virtualdubmod qui font ça et qui sont open source.




dimanche 30 octobre 2005 à 10:35:33 | Re : Copier StreamAudio d'un AVI to AVI

Shadiest

ça pourrai être une solution mais j'ai le stream audio à ma portée, pourquoi le décomposer pour le reintégrer dans un avi alors que je pourrai directement écrire les données...
dimanche 30 octobre 2005 à 15:01:07 | Re : Copier StreamAudio d'un AVI to AVI

Shadiest

J'ai un peu avancer, et compris que le Header d'un streamAudio etait du type WAVEFORMATEX, à l'excution de ce code, un fichier d'une taille relativement petite (devrai etre autour des 3mo et ne fait que 293 ko) mais d'une durée correcte, je n'ai pas trouvé d'information sur la taille des frames de son :

Code :

void Add_Audio(char * Name,PAVISTREAM audio)
{
PAVIFILE avi_file;

AVIFileInit();
AVIFileOpen(&avi_file, Name, OF_WRITE | OF_CREATE, NULL);

//AVISTREAMINFO
AVISTREAMINFO avi_stream_info;
int a=AVIStreamInfo(audio, &avi_stream_info, sizeof(AVISTREAMINFO));

//WAVEFORMATEX
WAVEFORMATEX wave;
LONG lStreamSize = sizeof(wave);
AVIStreamReadFormat(audio, 0, &wave, &lStreamSize);

//Nouveau stream
PAVISTREAM newstream;
AVIFileCreateStream(avi_file, &newstream, &avi_stream_info);
AVIStreamSetFormat(newstream, 0, &wave, sizeof(wave));

int size=wave.cbSize; // Quel est la taille d'une frame son ?

unsigned char * trame=new unsigned char[size];

//Copie byte par byte
for(int i=AVIStreamStart(audio);i<AVIStreamEnd(audio);i++)
{
AVIStreamRead(audio,i,1,trame,size,NULL,NULL);
AVIStreamWrite(newstream,i,1,trame,size, AVIIF_KEYFRAME, NULL, NULL);
}

AVIStreamRelease(audio);
AVIStreamRelease(newstream);

AVIFileRelease(avi_file);
}


"int size=wave.cbSize;" j'ai de serieux doutes sur cette taille, car elle est égale à 12 quand je debug, ce qui me parai peu...
dimanche 30 octobre 2005 à 15:29:09 | Re : Copier StreamAudio d'un AVI to AVI

Shadiest

PS : ce n'est pas byte par byte que je copie mais frame par frame...
dimanche 30 octobre 2005 à 16:52:12 | Re : Copier StreamAudio d'un AVI to AVI

Shadiest

 J'ai trouvé l'erreur, mais je ne sais comment la résoudre :
" AVIStreamRead(audio,i,1,trame,size,NULL,NULL); " me retourne AVIERR_BUFFERTOOSMALL

quel taille doit-je accorder au buffer ?


Cette discussion est classée dans : to, copier, avi, streamaudio


Répondre à ce message

Sujets en rapport avec ce message

AVIFile copier frame [ par samuelbrie ] Je cherche comment copier une frame d'un avi dans un bitmapet meme si c'est possible réécrire l'avi.Je doit incruster des points de couleur sur un fic AVI to BMP to AVI [ par phipedro ] bon j'ai déjà posté ce message dans la catégorie "graphique" car il touche aussi bien au graphisme(BMP) qu'au multimédia (AVI). Je sais que ce sujet p Ecrire du WAV dans un AVI avec VFW : AVI to BMP+WAV to AVI [ par vassily8 ] bonjour,je souhaite faire un prog qui lit un fichier AVI, traite les images (filtres...) et me recrée un nouveau fichier AVI avec ces images.Avec les AVI to BMP ?? [ par snounours ] je cherche a convertir un fichier avi en une série de bmp.j'ai trouver comment faire l'inverse mais imposible de trouver le code en VC++ pour faire ca AVI to BMP to AVI [ par phipedro ] Voilà je suis étudiant en électronique(école d'ingé) et je suis en stage en Chine. Je dois créer une application qui permettrai de compter des personn AVI to BMP to AVI [ par phipedro ] Voilà je suis étudiant en électronique(école d'ingé) et je suis en stage en Chine. Je dois créer une application qui permettrai de compter des personn copier nombre dans chaine de caracteres?? [ par dletozeun ] bonjour,Je cherche une fonction capable de copier un entier dans une chaine de caracteres et une autre fonction capable de transformer une chaine de c C++ dialog box right to left [ par petro666 ] bonjour j'aimerais avoir un petit renseignement concernant les dialog boxj'ai un code en C++ qui contient des dialog box et qui génère des dllle probl pb avec les pointeurs [ par oudkaramla ] salut, j'ai un problème dont je ne sais l'origine: en fait j'ai définis la fonction : int EnvoyerAvecReponse(char *g_buffer, unsigned long nBytesToWri pb avec jdatastore:'operator = doesn't apply to the types <DATE> and <STRING>' [ par kobee12 ] Salut a tousJ'ai un probleme dans mon prog.Je fais une requete :select * FROM t_rdv WHERE t_rdv.the_Date='12/03/2004'avec the_Date du type DATE.et il


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,640 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales