[c++] concaténation fichier vidéo
kain31
Messages postés
47
Date d'inscription
Statut
Membre
Dernière intervention
-
erikr le rouge -
erikr le rouge -
Bonjour tout le monde
Voila mon probleme j'arrive a copier un fichier dans un autre mais quand je veux concatener un fichier avec un aute, c'est à dire rajouter en fin de fichier un autre fichier il y a un probleme.
il ne me rajoute pas en fin de fichier il fait simplement une copie pourtant je lui dis de rajouter a la fin.
Je travail avec des fichier vidéo.
Voici le code pour la copie et la concaténation
Merci tout le monde
Voila mon probleme j'arrive a copier un fichier dans un autre mais quand je veux concatener un fichier avec un aute, c'est à dire rajouter en fin de fichier un autre fichier il y a un probleme.
il ne me rajoute pas en fin de fichier il fait simplement une copie pourtant je lui dis de rajouter a la fin.
Je travail avec des fichier vidéo.
Voici le code pour la copie et la concaténation
//copie du fichier source std::ifstream source( "C:\\..\\video0.avi",std::ios_base::binary ); std::ofstream destination( "C:\\..\\video.avi",std::ios_base::binary ); char buff[4096]; while ( !source.eof() ) { source.read ( buff, sizeof( buff ) ); destination.write ( buff, source.gcount() ); } //on rajoute le fichier file a file1 std::ifstream file( "C:\\...\\video1.avi",std::ios_base::binary ); //ouverture avec ajout en fin de fichier std::ofstream file1( "C:\\..\\video.avi", std::ios_base::binary,std::ios_base::app); while ( !file.eof() ) { file.read ( buff, sizeof( buff ) ); file1.write ( buff, file.gcount() ); }
Merci tout le monde
A voir également:
- [c++] concaténation fichier vidéo
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Montage video windows - Guide
- Comment réduire la taille d'un fichier - Guide
6 réponses
sans être méchant, tu est tordu.
Pourquoi rouvrir le fichier video1.avi dans file1 alors qu'il l'es déjà dans destination, et en plus pointant à la fin du fichier.
Est tu sur que le ::...::app place le "curseur" d'écriture à la fin du fichier?
Je ne sais pas ce que tu cherche à faire, mais il me semble que les fichiers video ont des entêtes, du coup, ça m'étonnerai beaucoup que ça fonctionne !
Pourquoi rouvrir le fichier video1.avi dans file1 alors qu'il l'es déjà dans destination, et en plus pointant à la fin du fichier.
Est tu sur que le ::...::app place le "curseur" d'écriture à la fin du fichier?
Je ne sais pas ce que tu cherche à faire, mais il me semble que les fichiers video ont des entêtes, du coup, ça m'étonnerai beaucoup que ça fonctionne !
Ce que je cherche a faire, je te l'explique.
Je possède deux vidéo et je souhaiterais copier c'est deux video dans un autre fichier video.
Donc dans un premier temps je doit copier un fichier dans le fichier destination puis rajouter a ce fichier le deuxième fichier.
Mais je c'est pas comment faire pour concatener.
Je possède deux vidéo et je souhaiterais copier c'est deux video dans un autre fichier video.
Donc dans un premier temps je doit copier un fichier dans le fichier destination puis rajouter a ce fichier le deuxième fichier.
Mais je c'est pas comment faire pour concatener.
essai ça :
Ensuite, ton fichier video.avi contiendra bien les deux autre concaténer, c'est à dire écri à la suite l'un de l'autre. (regarde la taille final)
Par contre, si tu souhaite coller deux video ensemble l'une derrière l'autre avec comme but de les lire à la suite en une seul fois par le biai d'un lecteur type winamp : à mon avis ça ne marchera pas.
Si c'est ça que tu veu faire, prend un logiciel de montage video, tu t'enmerdera moins, et ça prendra moins de temps.
//copie du fichier source std::ifstream source( "C:\\..\\video0.avi",std::ios_base::binary ); std::ofstream destination( "C:\\..\\video.avi",std::ios_base::binary ); char buff[4096]; while ( !source.eof() ) { source.read ( buff, sizeof( buff ) ); destination.write ( buff, source.gcount() ); } //on rajoute le fichier file a file1 std::ifstream file( "C:\\...\\video1.avi",std::ios_base::binary ); while ( !file.eof() ) { file.read ( buff, sizeof( buff ) ); destination.write ( buff, file.gcount() ); }
Ensuite, ton fichier video.avi contiendra bien les deux autre concaténer, c'est à dire écri à la suite l'un de l'autre. (regarde la taille final)
Par contre, si tu souhaite coller deux video ensemble l'une derrière l'autre avec comme but de les lire à la suite en une seul fois par le biai d'un lecteur type winamp : à mon avis ça ne marchera pas.
Si c'est ça que tu veu faire, prend un logiciel de montage video, tu t'enmerdera moins, et ça prendra moins de temps.
merci beaucoup du code.
Mais en effet sa concatene mais impossible a lire apres et moi j'aimerais pouvoir faire un code qui me permet de concatener deux video.
Donc si quelqu'un sait comment faire, sa m'aiderait beaucoup
merci
Mais en effet sa concatene mais impossible a lire apres et moi j'aimerais pouvoir faire un code qui me permet de concatener deux video.
Donc si quelqu'un sait comment faire, sa m'aiderait beaucoup
merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question