Jak używać mpdecimate z tym samym kodekiem co plik wejściowy i audio w pliku wyjściowym

0

Mam plik wideo Pro Res 60 fps, w którym chcę przechowywać co 4 klatkę (pozostałe są duplikatami, więc w rzeczywistości 15 fps). Dźwięk musi pozostać identyczny (nie przesunięty przez transformację) w pliku wyjściowym. Wydaje się, że mpdecimate powinien załatwić sprawę, ale utrzymanie identycznej jakości i dźwięku nie było łatwe.

Błąd z 15 i 20 fps:

mov @ 0x7fe9e3003800] Timecode frame rate 20/1 not supported
Output #0, mov, to 'AA.mov':
  Metadata:
    major_brand     : qt  
    minor_version   : 512
    compatible_brands: qt  
    encoder         : Lavf55.48.100
    Stream #0:0(eng): Video: prores (apch) (apch / 0x68637061), yuv422p10le, 1280x1024, q=2-31, 200 kb/s, 20 fps, 10240 tbn, 20 tbc (default)
    Metadata:
      handler_name    : DataHandler
      timecode        : 00:00:00:00
      encoder         : Lavc55.69.100 prores
    Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
    Metadata:
      handler_name    : DataHandler
      encoder         : Lavc55.69.100 aac
Stream mapping:
  Stream #0:0 -> #0:0 (prores (native) -> prores (native))
  Stream #0:1 -> #0:1 (aac (native) -> aac (native))
Could not write header for output file #0 (incorrect codec parameters ?): Not yet implemented in FFmpeg, patches welcome
cyfra
źródło
Jeśli kadencja jest regularna, nie potrzebujesz mpdecimate. Tylko określenie -r 15powinno działać.
Gyan
Dziękuję Ci. Jak dokładnie to zrobiłbyś?
cyfra
Otrzymuję następujący błąd, patrz wyżej
cyfra
ffmpeg -i in.mov -c:v prores_ks -profile:v 3 -r 15 -c:a copy out.movKtórą wersję ffmpeg posiadasz?
Gyan
v 2.8.4, a błąd, który teraz otrzymuję, brzmi: „Kodek dla strumienia 1 nie używa globalnych nagłówków, ale format kontenera wymaga globalnego nagłówka”. W rzeczywistości jest to ten sam błąd i ten wiersz został dodany.
cyfra