FFmpeg neden MOV'dan sıkıştırıldığında MP4 dosyalarımın sonuna boş siyah bir video ekliyor?


1

Sahibim birkaç büyük MOV dosyası MP4’e sıkıştırmak istiyorum.

Ne yazık ki, FFmpeg kullandığımda, sonunda çok sayıda siyah (boş) video ekliyor.

(Hedef dosya, kaynak dosyadan daha uzun.)

Örneğin, süresi 02:22:01 olan bir dosyam var (ve FFmpeg çıktı günlükleri bunu onaylar).

Ancak, aşağıdaki komutu çalıştırdığımda ("ultrafast" ta bile 20 dakikadan fazla süren), çoğunlukla iyi görünen bir MP4 dosyası alıyorum, ancak toplam video süresi 3:59 olacak şekilde sonuna eklenen çok sayıda siyah kare var. : 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

Bu diğer MOV-to-MP4 dönüşümlerimle de oluyor. Sona eklenen siyah videonun süresi 20 ila 80+ dakika uzunluğunda olabilir (her farklı video için aynı değildir).

Neyi yanlış yapıyorum?

Günlüklerim burada .

Not; PowerShell 4'ü Windows 7'de kullanıyorum.

Güncelleştirme:

LordNeckBeard'e yanıt olarak, kaçtığımda ffmpeg.exe -i F:\video_project\compressed\Tape_12.mp4, sonuç:

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

Rajib’e cevaben koştuğumda ffmpeg.exe -i F:\video_project\uncompressed\Tape_12.mov, sonuç:

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

Nedir ffmpeg Çıktının süresi ne kadar? ffmpeg -i Tape_12.mp4 Sürenin 3:59:59 olduğunu söyleyen nedir? Dış kaynaklara güvenmek yerine tüm bilgiler sorunuza dahil edilmelidir (birden fazla işlemi tekrarlayabilir frame= çizgiler).
llogan

@ LordNeckbeard, ffmpeg ve Windows Gezgini ("Ayrıntılar" görünümü) her ikisi de mp4 süresinin 3:59:59 olduğunu söylüyor. Önerilen sorgunuzun sonucunu yukarıya yapıştıracağım.
Ryan

@Rajib İstediğiniz bilgileri ekledim.
Ryan

@Rajib İstediğiniz gibi yaptım ve elde edilen videolar önceki MP4'ler ile aynıydı; her biri, daha önce olduğu gibi eklenen siyah videoya sahipti. Günlükler burada: drive.google.com/...
Ryan

Geçici çözüm -t 02:22:01.04 komutta açıkça, ancak sorunu çözmez.
Rajib

Yanıtlar:


0

Sorun muhtemelen, ses kaydını hızlandırmamanızdır, böylece yeni video orijinal kaydı boyunca kalır. Ses parçasını -an seçeneğiyle silin ya da buna göre hızlandırın atempo ses filtresi.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.