Commande "cat" pour coller deux videos, problème

Résolu
Bonjour,

je voudrais coller deux fichiers vidéo dans le terminal à l'aide de la commande "cat"

le fichier1 dure 10 minutes fait 20Mo, le fichier2 fait 10 minutes 20mo aussi
j'ai tapé: cat fichier1.mkv fichier2.mkv > complet.mkv

les fichiers ressemblés font bien un seul fichier de 40mo, mais bizarrement à la lecture, je ne peux visionner que la séquence du fichier1 soit 10 minutes, j'ai donc une partie fantôme,

j'ai essayé avec plusieurs format vidéo, j'ai le même problème

d'ou cela peut-il venir ?

Merci par avance.

11 réponses

  1. Contributeur
    re
    je viens de tester , ça foire avec ffmpeg mais si tu utilise mkvmerge et la fonction concatener ça fonctionne au poil
    a+
    1
    1. Excuse moi jeanbi, j'avais pas vu ton message,
      oui avec mkvmerge ça marche impèc !

      Merci beaucoup !
      0
  2. merci, mais de cette manière il faut encoder en ts,
    et je ne veux pas encoder.
    0
    1. Contributeur
      re
      ceci est un exemple
      pour relier 2 videos
      ffmpeg-i concat:"fichier1.avi|fichier2.avi" -c copy fichierdest.avi
      je viens de tester avec 2 fichiers de mon camescope aucun soucis .
      a+
      0
  3. Contributeur
    Salut,

    T'as essayé avec :

    cat fichier1.mkv  > complet.mkv 
    cat fichier2.mkv >> complet.mkv
    --
    Zen my nuggets ;-)
    Faites un geste pour l'environnement, fermez vos fenêtres et adoptez un manchot. <('')
    0
    1. voici ce que ca donne sur la même ligne je tape:

      cat Juelztender.avi > complet.mkv cat Juelztender02.avi >> complet.mkv

      résultat
      cat: cat: Aucun fichier ou dossier de ce type

      -------------

      Ou un après l'autre

      cat fichier1.mkv > complet.mkv puis je tape entrée, ca me donne tout simplement un doublon du fichier1 dans le repertoir

      puis après je tape

      cat fichier2.mkv >> complet.mkv ça donne rien puisque complet existe déjà,

      le résultat est que mes fichiers sont pas collés

      ---------------------

      ou bien encore

      cat fichier.avi cat fichier.avi >> complet.avi

      ça me donne bien le volume de deux fichiers ressemblés, mais toujours une partie fantôme.
      0
      1. Contributeur
        Ce n'est pas normal, ça devrait marcher juste en concaténant tes deux fichiers ;-\

        Essaye avec
        mencoder
        (à installer si nécessaire) :

        mencoder film1.avi film2.avi -o film-complet.avi -ovc copy -oac copy
        0
      2. Modérateur
        Salut

        On peut vraiment concaténer deux conteneurs vidéos pour en faire un seul ??
        0
      3. Contributeur
        Salut,

        Oui, à condition qu'ils soient encodés de la même façon tous les deux.
        0
      4. Modérateur
        Mais un mkv contient vidéo, pistes son et possiblement sous titre ou chapitre.

        Il faut donc que les deux sois formalisé de la même façon, avec même encodage pour son et vidéo (et sans doute pas de sous titre ni de chapitre.)

        Mais autant pour concaténer deux fichiers vidéos ou audio, je vois bien, autant pour deux conteneur, j'ai encore des doutes.
        0
      5. Contributeur
        Oups sorry, j'ai pas fait gaffe à conteneur, j'ai pensé vidéo, donc en gros je n'en sais rien pour les conteneurs ;-\
        0
    2. cette commande ffmpeg-i concat:"fichier1.avi|fichier2.avi" -c copy fichierdest.avi

      à fonctionné pour un avi, mais pour un mkv, ça semble pas fonctionner, j' obtiens bien le fichier de destination, mais il y a aucun changement apporté,
      même volume que le fichier1 et même temps.

      comme vous pouvez le constaté, j'ai deux [matroska,webm] Unknown , je sais pas ce que ça signifie

      voici le résultat:

      ffmpeg -i concat:"fichier1.mkv|fichier2.mkv" -c copy complet.mkv
      ffmpeg version 2.1.3 Copyright (c) 2000-2013 the FFmpeg developers
      built on Feb 12 2014 20:11:32 with gcc 4.8 (SUSE Linux)
      configuration: --shlibdir=/usr/lib64 --prefix=/usr --mandir=/usr/share/man --libdir=/usr/lib64 --enable-shared --disable-static --enable-debug --disable-stripping --extra-cflags='-fmessage-length=0 -grecord-gcc-switches -fstack-protector -O2 -Wall -D_FORTIFY_SOURCE=2 -funwind-tables -fasynchronous-unwind-tables -g -fPIC -I/usr/include/gsm' --enable-gpl --enable-x11grab --enable-version3 --enable-pthreads --enable-avfilter --enable-libpulse --enable-libvpx --enable-libopus --enable-libass --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libspeex --enable-libxvid --enable-libx264 --enable-libschroedinger --enable-libgsm --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-postproc --enable-libdc1394 --enable-librtmp --enable-libfreetype --enable-avresample --enable-libtwolame --enable-libvo-aacenc --enable-gnutls
      libavutil 52. 48.101 / 52. 48.101
      libavcodec 55. 39.101 / 55. 39.101
      libavformat 55. 19.104 / 55. 19.104
      libavdevice 55. 5.100 / 55. 5.100
      libavfilter 3. 90.100 / 3. 90.100
      libavresample 1. 1. 0 / 1. 1. 0
      libswscale 2. 5.101 / 2. 5.101
      libswresample 0. 17.104 / 0. 17.104
      libpostproc 52. 3.100 / 52. 3.100
      Input #0, matroska,webm, from 'concat:nl1.mkv|nl2.mkv':
      Metadata:
      ENCODER : Lavf55.19.104
      Duration: 00:07:17.16, start: 0.000000, bitrate: 9048 kb/s
      Chapter #0.0: start 0.000000, end 437.000000
      Metadata:
      title : 00:02:48.040
      Stream #0:0: Video: h264 (High), yuv420p(tv, bt709), 720x404 [SAR 1:1 DAR 180:101], 25 fps, 25 tbr, 1k tbn, 50 tbc (default)
      Metadata:
      title : AiRTV - No Limit - BDRip
      Stream #0:1(fre): Audio: aac, 48000 Hz, stereo, fltp (default)
      Metadata:
      title : FRENCH AAC 128Kbps
      LANGUAGE : fre
      Output #0, matroska, to 'supaaar.mkv':
      Metadata:
      encoder : Lavf55.19.104
      Chapter #0.0: start 0.000000, end 437.000000
      Metadata:
      title : 00:02:48.040
      Stream #0:0: Video: h264 (H264 / 0x34363248), yuv420p, 720x404 [SAR 1:1 DAR 180:101], q=2-31, 25 fps, 1k tbn, 1k tbc (default)
      Metadata:
      title : AiRTV - No Limit - BDRip
      Stream #0:1(fre): Audio: aac ([255][0][0][0] / 0x00FF), 48000 Hz, stereo (default)
      Metadata:
      title : FRENCH AAC 128Kbps
      LANGUAGE : fre
      Stream mapping:
      Stream #0:0 -> #0:0 (copy)
      Stream #0:1 -> #0:1 (copy)
      Press [q] to stop, [?] for help
      [matroska,webm @ 0x8ed020] Unknown entry 0x1A45DFA3
      [matroska,webm @ 0x8ed020] Unknown entry 0x18538067

      frame=10844 fps=0.0 q=-1.0 Lsize= 58846kB time=00:07:17.00 bitrate=1103.1kbits/s
      video:51798kB audio:6827kB subtitle:0 global headers:0kB muxing overhead 0.375959%
      0
      1. Contributeur
        bonjour,
        tu doit avoir un probleme sur une des videos
        a+
        0
    3. Contributeur
      re
      je m'en vai teste
      a+
      0
      1. rien ne marche,
        voila pourquoi je déteste les lignes de commande,

        Je vais trouver une autre solution,
        merci de vous être penché sur mon problème.
        0
        1. Contributeur
          re,
          comment ça rien ne marche meme mkvmerge !!!
          a+
          0
        2. Modérateur
          Je ne comprend pas, je pensais que l'utilisation des lignes de commande était un choix volontaire de ta part.

          Il existe mkvmerge gui avec interface graphique, si c'est la CLI qui te pose problème.

          La ligne de commande, ça marche très bien, à condition de savoir s'en servir, comme tout. ;-)
          0
      2. en fait j'avais essayé avec pas mal de logiciels en mode graphique, j'en avais trouvé aucun qui me faisait le travaille sans encoder, ou sinon il y avait des bug,
        Il me restait plus que les lignes de commande, voila tout.
        0
        1. Contributeur
          re,
          de plus avec le gui de mkmerge tu as la ligne de commande pratique comme ça la prochaine fois au lieu de lancer mkmerge + son gui tu tapes juste la ligne de commande :-) options copier dans le presse papier ...
          a+
          0