web-dev-qa-db-fra.com

Comment découper et fusionner des vidéos .ogv?

Je crée actuellement un didacticiel vidéo pour un outil logiciel. J'ai enregistré quelques courtes vidéos (entre 30 secondes et 4 minutes) avec RecordMyDesktop que je dois maintenant fusionner en une seule vidéo. Le pipeline de tâches se présente comme suit:

  1. Convertissez les fichiers de ogv en avi (ou un autre format utilisable).

  2. Recadrer les sections indésirables des vidéos (telles que l'interaction avec RecordMyDesktop lui-même).

  3. Fusionner les différentes vidéos recadrées dans un seul fichier.

Cela semble simple, mais j'ai vécu toute une saga ces dernières semaines en essayant de le faire sans succès. Ci-dessous, je détaille les démarches que j'ai effectuées jusqu'à présent et les problèmes que j'ai trouvés.

Conversion ogv en avi

Il existe différents sujets sur ce sujet, pointant vers plusieurs outils. Beaucoup de ces threads semblent être obsolètes mais j'ai finalement réussi à utiliser avconv , par exemple:

avconv -i "input.ogv" -vcodec mjpeg -acodec mp2 -qscale 10 "output.avi"

Auparavant, j'ai essayé avec ffmpeg, Avidemux, Lives et d'autres, mais tous échouent avec des erreurs ou des plantages sur Ubuntu 14.04.

Avec avconv, il y a une perte visible de qualité d'image et du bruit est ajouté à l'audio, mais rien de tout cela n'est catastrophique.

Recadrage

Pour cette tâche, Avidemux est le seul outil que je connaisse qui autorise le recadrage au niveau du cadre. D'autres, telles que Lives, proposent également cette fonctionnalité mais ne sont pas en mesure de l'exécuter.

Je n’ai commis aucune erreur lors de l’exécution de cette tâche avec Avidemux, mais les vidéos résultantes ont commencé à poser des problèmes. Totem n'est pas capable de jouer l'un d'entre eux, émettant une exception. OpenShot émet également un avertissement lors de l'ouverture de certaines de ces vidéos recadrées avec Avidemux.

Fusion

Jusqu'à présent, j'ai essayé cette tâche avec cinq outils différents, qui ont tous échoué:

  • OpenShot - a rempli 4 Go de RAM et a ensuite rempli 4 Go d’échange; le système est alors devenu insensible, forcer un redémarrage. Au total, les vidéos AVI recadrées totalisent un peu plus de 200 Mo.

  • avimerge - produit un fichier fusionné sans émettre de message d'avertissement ou d'erreur, mais l'image et le son ne sont pas synchronisés. Il y a des moments où le son joué provient des parties découpées à l'étape précédente.

  • Kino - produit également un fichier fusionné sans générer d'erreur, mais ravit complètement l'image. Il scintille et saute constamment, ce qui le rend impossible à comprendre.

  • ( cat + mencoder - le résultat final a des problèmes similaires à ceux avec avimerge .

  • Avidemux - a finalement découvert qu'il était également capable de fusionner des fichiers, bien que le processus ne soit pas évident. Les vidéos résultantes produisent un son et une image non synchronisés. lors de l'ouverture d'un fichier fusionné avec un lecteur tel que Totem, la longueur est environ le double de celle rapportée par Avidemux.

La question

À ce stade, je soupçonne fortement que quelque chose ne va pas en amont de la fusion, peut-être avec le recadrage (et donc l'histoire détaillée).

Ma question se résume à: comment effectuer ces trois tâches apparemment simples avec des vidéos produites avec RecordMyDesktop? J'apprécierais vos suggestions soit pour un pipeline de traitement complètement nouveau, soit pour des changements dans l'une des étapes. Les commentaires d'utilisateurs expérimentés de RecordMyDesktop sont également les bienvenus.

Update I : résultats de la fusion inclus avec cat et mencoder.

Update II : résultats inclus de la fusion avec Avidemux.

4
Luís de Sousa

Peut-être recherchez-vous un flux de travail différent?.

Vous pouvez d’abord découper les parties de votre choix avec oggz-chop. Il suffit de taper dans le terminal:

oggz-chop -o output.ogv -s start -e end input.ogv

Cela devrait vous donner les bons fichiers que vous souhaitez conserver. Assurez-vous de les nommer dans un ordre séquentiel pour pouvoir les traiter plus tard.

Après ça:

Il existe une commande oggCat, capable de concaténer deux fichiers ogg ou plus, produisant un fichier ogg de longueur égale à la somme de tous les éléments fournis.

La ligne de commande qui vous aidera est la suivante:

oggCat output.ogv infile1.ogv infile2.ogv infile3.ogv ...

Ne le confondez pas avec une autre commande du même paquet intitulé oggJoin, qui fait quelque chose de très différent en créant un seul fichier avec plusieurs flux s'exécutant en parallèle.

Maintenant, pour le recadrage, je sais qu’il existe un moyen de le faire sans perte, en modifiant l’en-tête du flux Theora, mais j’étais incapable de comprendre comment le faire pour le moment. Je mettrai à jour la réponse si je trouve le chemin.

3
v010dya