Wie kann ich umwandeln .MTS-Datei (AVCHD) auf .mp4 ffmpeg, ohne re-encoding von H264-video-stream korrekt?


Ich wies die gleiche Frage in eine andere Gemeinde Video-Produktion, dass ich habe später gefunden, und das scheint zu sein, einen besseren Ort für diese Frage:

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


1. Was ich versucht habe

Habe ich einige .MTS (AVCHD-format) Dateien recoreded mit meiner AVCHD Kamera. Seine Spezifikation ist als unten gezeigt:

$ 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

Achten Sie auf den Teil der framerate/Zeitbasis: 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc

Nun möchte ich konvertieren Sie diese Datei auf .mp4-Datei, ohne re-encoding von H264-video-stream, auf der anderen Seite, mit transcoding audio stream in AAC.
Also versuchte ich den folgenden Befehl:

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

2. Ergebnis

- und output-Datei-Spezifikation ist als unten gezeigt:

$ 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

Blick auf den Teil der framerate/Zeitbasis: 59,94 fps, 59.94 tbr, 90k tbn, 59.94 tbc.
Obwohl ffmpeg gerade kopiert den video-stream, framerate und timebase geändert wurde zweimal Wert.

So, wenn ich öffnen und die Wiedergabe der Ausgabedatei mit dem QuickTime Player oder VLC-Player
die audio hat kein problem, allerdings ist der video-stream ist nicht korrekt wiedergegeben.
Das video wiedergegeben wird mit seinem Gestell vorwärts-und rückwärts-scheu bezogen wiederholt.

3. Frage

  1. Wie kann ich konvertieren .MTS-Datei (AVCHD) auf .mp4 ffmpeg, ohne re-encoding von H264-video-stream korrekt?
  2. Wie kann ich halten Sie die original-framerate/Zeitbasis-Werte (fps/tbr/tbn/TBA), wenn ich konvertieren der container mit ffmpeg und seine -vcodec copy wechseln.
  3. Wie kann ich set framerate/Zeitbasis-Werte (fps/tbr/tbn/TBA) von ffmpeg Kommandozeilen-Optionen ohne re-encoding video-stream.

Irgendwelche Ideen?

InformationsquelleAutor kaorukobo | 2014-07-13
Schreibe einen Kommentar