Concatenant les fichiers vidéo ogg à partir de la ligne de commande

D'accord. J'ai quelques fichiers ogg que j'ai créés à l'aide d'un outil d'enregistrement de bureau . Je les ai transcodé à l'aide de ffmpeg une fois (principalement pour décrire les débuts et les extrémités).

Maintenant, j'ai 3 fichiers tels que je veux concaténer dans un seul fichier .ogv . J'ai essayé d'utiliser oggCat , il s'est écrasé avec une sorte d'erreur (j'ai essayé de concaténer un fichier à lui-même en utilisant oggCat et cela a échoué aussi m'aider à croire que ma oggCat une version cassée du paquet). Il suffit de manipuler les fichiers mais je ne peux pas chercher ce qui n'est pas cool. mencoder fonctionne comme ça mencoder -ovc lavc -oac lavc file1.ogv file2.ogv file3.ogv -o complete.ogv . Il transcode les fichiers dans un avi et extrait un peu des 3 vidéos.

Alors, comment puis-je faire cela?

Mise à jour 1: Ma solution de contournement actuelle consiste à transcoder les 3 fichiers dans .mpg aide de ffmpeg , puis les regrouper et ensuite les transcoder dans ogv .

Mise à jour 2: PiTiVi fonctionne pour ce genre de chose mais j'ai besoin de quelque chose à partir de la ligne de commande que je peux automatiser et script.

Ogg Video Tools semble faire ce que vous cherchez.

Brève description:

Parfois, il serait sympa de concaténer (joindre) deux ou plusieurs fichiers vidéo. Pour cela, vous pouvez utiliser oggCat, ce qui crée un fichier vidéo Ogg continu à partir des fichiers donnés.

# oggCat newFile.ogv file1.ogv file2.ogv [ file3.ogv [...] ]

Remarque: les fichiers vidéo doivent correspondre en cadrage, espace clé, cadrage, etc.

Voir plus ici et ici .

J'utiliserais le demigner concat de ffmpeg pour cela (nécessite une version récente de ffmpeg).

Tout d'abord, créez un fichier appelé inputs.txt (ou n'importe quel nom arbitraire) contenant des lignes comme:

 file '/path/to/input1.ogv' file '/path/to/input2.ogv' file '/path/to/input3.ogv' 

Notez que cela peut être un chemin de fichier relatif ou absolu. Si vos fichiers sont tous dans le même répertoire et nommés dans un modèle similaire à input1.ogv, input2.ogv … , vous pouvez utiliser une boucle for pour générer les entrées.txt:

 rm inputs.txt; for f in input*.ogv; do echo "$f" >> inputs.txt; done 

Une fois que vous avez créé votre fichier, vous pouvez concaténer sans perte les fichiers ogv de la manière suivante:

 ffmpeg -f concat -i inputs.txt -c copy output.ogv 

Avez-vous essayé d'utiliser PiTiVi ? Placez les trois clips séquentiellement sur la timeline, puis enregistrez le résultat en un seul fichier.

http://www.xiph.org/oggz/ a une fonctionnalité,

  • Fusionner Fusionner les fichiers Ogg ensemble, entrelacer des pages par ordre de présentation.

Edit: Cela ne fait pas ce que vous voulez que vous voulez jouer une vidéo après une autre.


http://sox.sourceforge.net pourrait également fonctionner, la syntaxe ( http://sox.sourceforge.net/sox.html ):

  sox infile1 infile2 outfile 

Modifier: cela gère uniquement l'audio.


Vous pouvez essayer de compiler les oggvideotools et voir si oggCat fonctionne alors.

Edit: cela a fonctionné pour vous …


Vous pouvez demander à http://sourceforge.net/projects/oggvideotools/support de résoudre les problèmes avec votre distribution, y compris le texte des messages d'erreur que vous avez lorsque vous 1) exécutez la binaire que vous recevez de vos référentiels de distribution 2) compilez 3) exécutez la version compilée.

Edit: vous recherchez des programmes alternatifs pour faire la concaténation.


Essayez d'utiliser mkvtoolnix pour concaténer des fichiers ogg dans un seul mkv, puis extraire ogg à partir d'un même outil