Bir videoyu ffmpeg ile nasıl kırpabilirim?


172

Kesmem gereken bir ekran kaydının MP4 dosyası var. Bunu Adobe Premier veya Final Cut gibi pahalı araçlar kullanmadan nasıl başarabilirim? Tercih ederim ffmpegçünkü daha önce kullandım.

Yanıtlar:


264

cropFiltreyi kullanın :

ffmpeg -i in.mp4 -filter:v "crop=out_w:out_h:x:y" out.mp4

Seçenekler aşağıdaki gibidir:

  • out_w Çıktı dikdörtgeninin genişliği
  • out_h Çıktı dikdörtgeninin yüksekliği
  • xve yçıktı dikdörtgeninin sol üst köşesini belirleyin.

Orijinal görüntü

orijinal görüntü
Orijinal 320x240 görüntü

örnek 1

80x60

80 × 60'lık bir bölümü kırpmak için, konumdan başlayarak (200, 100):

ffmpeg -i in.mp4 -filter:v "crop=80:60:200:100" -c:a copy out.mp4

Örnek 2

sağ alt çeyrek

Sağ alt çeyreği kırpmak için:

ffmpeg -i in.mp4 -filter:v "crop=in_w/2:in_h/2:in_w/2:in_h/2" -c:a copy out.mp4

Bu aynıdır:

ffmpeg -i in.mp4 -filter:v "crop=320/2:240/2:320/2:240/2" -c:a copy out.mp4

Aynı olan:

ffmpeg -i in.mp4 -filter:v "crop=240:120:240:120" -c:a copy out.mp4
  • Bu ilk örnekte gösterildiği gibi in_wve ile giriş görüntüsü boyutuna bakabilirsiniz in_h. Çıktı genişliği ve yüksekliği out_wve ile de kullanılabilir out_h.

Örnek 3

Üstten 20 piksel ve alttan 20 piksel

Üstten 20 piksel, alttan 20 kırpma:

 ffmpeg -i in.mp4 -filter:v "crop=in_w:in_h-40" -c:a copy out.mp4
  • Filtre, bu örnekte olduğu gibi atlanırsa xve yatlanırsa , ürünü otomatik olarak ortalar.

önizleme

Kırpma (heh heh) alabilir ve canlı yayını önizleyebilirsiniz ffplay:

ffplay -i input -vf "crop=in_w:in_h-40"

Bu şekilde, kodlamayı, görüntülemeyi ve tekrarlamayı gerektirmeden kırpma işleminizi deneyebilir ve ayarlayabilirsiniz.

notlar

  • crop filtre belgeleri

  • MP4 için varsayılan kodlayıcı, yapınıza bağlı olarak libx264(H.264 video) veya mpeg4(MPEG-4 Part 2 video) ' ffmpegdur. Daha fazla bilgi için FFmpeg Wiki: H.264 Video Kodlama Kılavuzu'na bakın.

  • Kırpmak ve yeniden kodlamak yerine, oynatma sırasında kırpmayı düşünün. Bu, kullanmaya değer herhangi bir oyuncu ile mümkündür.

  • Antik ffmpegkullanılan yapýlar -croptop, -cropbottom, -cropleft, -croprightyerine seçenekler cropfiltresi. Eğer durum buysa, modern olsunffmpeg . Gelişim çok aktif ve antika kullanmak için hiçbir sebep yok.


2
Bu şimdi 'avconv' ile çalışır.
Joce,

1923x1080'im var ve 1920x1080'i istiyorum. Çalıştığım emir bu: /Users/kukodajanos/Workspace/ffmpeg -i /Users/kukodajanos/Desktop/video_640x480-2.mp4 -filter:v "crop=1920:1080:0:0" -c:a copy /Users/kukodajanos/Desktop/video_640x480-4.mp4ama orijinal film geri döndü.
János

@Joce JFYI avconv, bir ffmpeg çatalı olan libav'un ​​bir parçasıdır
andrybak

1
(Bu tekniği söz değer crop, videoyu tekrar kodlar filtresi) bakınız stackoverflow.com/questions/33378548/... sizin için eğer yeniden kodlama meseleleri
abernier

1
modası geçmişini -filter:vdaha güncel olarak değiştirmek için düzenlenir ve yazılması daha kolaydır -vf. Şerefe!
Elder Geek,
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.