Por que o FFmpeg acrescenta vídeo preto em branco ao final dos meus arquivos MP4 quando compactado do MOV?

Por que o FFmpeg acrescenta vídeo preto em branco ao final dos meus arquivos MP4 quando compactado do MOV?

Eu tenhovários arquivos MOV grandesque desejo compactar para MP4.

Infelizmente, quando uso o FFmpeg, ele acrescenta muitos vídeos pretos (em branco) no final.

(O arquivo de destino é maior que o arquivo de origem.)

Por exemplo, eu tenho um arquivo com duração de 02:22:01 (e os logs de saída do FFmpeg confirmam isso).

Mas quando executo o comando a seguir (que leva mais de 20 minutos, mesmo em "ultrarápido"), recebo um arquivo MP4 que parece bom, mas tem muitos quadros pretos anexados ao final, de modo que a duração total do vídeo se torna 3:59 :59.

ffmpeg -i "F:\video_project\uncompressed\Tape_12.mov" -vcodec libx264 -preset ultrafast -crf 18 -n -threads 16 -f mp4 "F:\video_project\compressed\Tape_12.mp4" 2>&1

Isso também acontece com minhas outras conversões de MOV para MP4. A duração do vídeo preto anexado ao final pode ser de 20 a 80 minutos ou mais (não é a mesma para cada vídeo diferente).

O que estou fazendo de errado?

Meus registros estão aqui.

PS: Estou usando o PowerShell 4 no Windows 7.

Atualizar:

Em resposta a LordNeckBeard, quando executo ffmpeg.exe -i F:\video_project\compressed\Tape_12.mp4, o resultado é:

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'F:\video_project\compressed\Tape_12.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf55.22.101
  Duration: 03:59:59.94, start: 0.033333, bitrate: 5389 kb/s
    Stream #0:0(eng): Video: h264 (High 4:2:2) (avc1 / 0x31637661), yuv422p, 720x480 [SAR 10:11 DAR 15:11], 5252 kb/s, 29.97 fps, 29.97 tbr, 11988 tbn, 59.94 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 128 kb/s (default)
    Metadata:
      handler_name    : SoundHandler

Em resposta a Rajib, quando executo ffmpeg.exe -i F:\video_project\uncompressed\Tape_12.mov, o resultado é:

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'F:\video_project\uncompressed\Tape_12.mov':
  Metadata:
    creation_time   : 2014-01-05 02:35:17
  Duration: 02:22:01.04, start: -6.064083, bitrate: 51226 kb/s
    Stream #0:0(eng): Video: dvvideo (dvc  / 0x20637664), yuv411p, 720x480 [SAR 8:9 DAR 4:3], 28771 kb/s, SAR 10:11 DAR
15:11, 29.97 fps, 29.97 tbr, 2997 tbn, 29.97 tbc (default)
    Metadata:
      creation_time   : 2014-01-05 06:35:18
      handler_name    : Apple Alias Data Handler
    Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, mono, s16, 768 kb/s (default)
    Metadata:
      creation_time   : 2014-01-05 06:35:18
      handler_name    : Apple Alias Data Handler
    Stream #0:2(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, mono, s16, 768 kb/s (default)
    Metadata:
      creation_time   : 2014-01-05 06:35:18
      handler_name    : Apple Alias Data Handler

Responder1

O problema provavelmente é que você não está acelerando a trilha de áudio, então o novo vídeo permanece tão longo quanto o original. Exclua a trilha de áudio com a opção -an ou acelere-a de acordo com o ​ritmo aceleradofiltro de áudio.

informação relacionada