Comment puis-je convertir des .Fichier MTS (AVCHD).mp4 par ffmpeg sans ré-encodage H264 flux vidéo correctement?


J'ai posté une même question à un autre de la communauté de Production Vidéo que j'ai trouvé plus tard, et qui semble être un meilleur endroit pour cette question:

Voir: https://video.stackexchange.com/questions/12156/how-can-i-convert-mts-file-avchd-to-mp4-by-ffmpeg-without-re-encoding-h264-v/


1. Ce que j'ai essayé de

J'ai quelques .MTS (AVCHD de format de fichiers recoreded avec ma caméra AVCHD. Sa spécification est indiquée ci-dessous:

$ ffprobe 140612_Canon-00000.MTS 
ffprobe version 2.2.1 Copyright (c) 2007-2014 the FFmpeg developers
(snip)
Input #0, mpegts, from '140612_Canon-00000.MTS':
  Duration: 00:48:58.40, start: 0.800300, bitrate: 5563 kb/s
  Program 1 
    Stream #0:0[0x1011]: Video: h264 (High) (HDMV /0x564D4448), 
      yuv420p, 1440x1080 [SAR 4:3 DAR 16:9], 
      29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
    Stream #0:1[0x1100]: Audio: ac3 (AC-3 /0x332D4341), 48000 Hz, 
      stereo, fltp, 256 kb/s

Prêter attention à la partie de framerate/base de temps: 29.97 fps, 29.97 tbr, 90k d'alcalinité, 59.94 tbc

Maintenant, je voudrais de convertir ce fichier .fichier mp4, sans ré-encodage H264 flux vidéo, d'autre part, avec transcodage ses flux audio en AAC.
J'ai donc essayé la commande suivante:

ffmpeg -i 140612_Canon-00000.MTS -t 60 -y -vcodec copy -acodec libfaac -ab 128k 140612_Canon-00001.MTS.mp4

2. Résultat

et de sortie du fichier de spécification est indiquée ci-dessous:

$ ffprobe 140612_Canon-00000.MTS.mp4
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '140612_Canon-00000.MTS.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf55.33.100

  Duration: 00:01:00.04, start: 0.021333, bitrate: 4590 kb/s

    Stream #0:0(und): Video: h264 (High) (avc1 /0x31637661), yuv420p, 
        1440x1080 [SAR 4:3 DAR 16:9], 4448 kb/s, 
        59.94 fps, 59.94 tbr, 90k tbn, 59.94 tbc (default)
    Metadata:
      handler_name    : VideoHandler

    Stream #0:1(und): Audio: aac (mp4a /0x6134706D), 
        48000 Hz, stereo, fltp, 128 kb/s (default)
    Metadata:
      handler_name    : SoundHandler

Regarder la partie de framerate/base de temps: 59.94 fps, 59.94 tbr, 90k d'alcalinité, 59.94 tbc.
Bien que ffmpeg juste copié le flux vidéo, débit et de temps de base a été modifiée à deux fois la valeur.

Donc, lors de l'ouverture et lecture du fichier de sortie avec le Lecteur QuickTime ou VLC Player,
l'audio n'a pas de problème, cependant, le flux vidéo n'est pas lu correctement.
La lecture de la vidéo avec son image vers l'avant et vers l'arrière quiveringly à plusieurs reprises.

3. Question

  1. Comment puis-je convertir .Fichier MTS (AVCHD).mp4 par ffmpeg sans ré-encodage H264 flux vidéo correctement?
  2. Comment puis-je de conserver l'original de framerate/base de temps des valeurs (fps/tbr/tbn/tbc) quand je convertir le conteneur avec ffmpeg et ses -vcodec copy commutateur.
  3. Comment puis-je jeu de framerate/base de temps des valeurs (fps/tbr/tbn/tbc) par ffmpeg en ligne de commande options sans ré-encodage de flux vidéo.

Des idées?

OriginalL'auteur kaorukobo | 2014-07-13