Bir videoyu ffmpeg ile nasıl kırpabilirim?


101

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 ederimffmpegçünkü daha önce kullandım.

159

Kullancrop filter:

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
  • xveyçıktı dikdörtgeninin sol üst köşesini belirtin

Orijinal fotoğraf

original image
Orijinal 320x240 görüntü

örnek 1

80x60

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

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

Örnek 2

bottom right quarter

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
  • Giriş görüntü boyutuna bakabilirsiniz.in_wvein_hbu ilk örnekte gösterildiği gibi.Çıktı genişliği ve yüksekliği ile de kullanılabilirout_wveout_h.

Örnek 3

20 pixels from the top, and 20 from the bottom

Üstten 20 piksel ve alttan 20 kırpma:

 ffmpeg -i in.mp4 -filter:v "crop=in_w:in_h-40" -c:a copy out.mp4
  • Filtre, otomatik olarak ekin ortalarxveybu örnekte olduğu gibi atlanmıştır.

ö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ınızı deneyebilir ve ayarlayabilirsiniz.

notlar

  • crop filter documentation

  • MP4 için varsayılan kodlayıcılibx264(H.264 video) veyampeg4(MPEG-4 Part 2 videosu)ffmpeginşa etmek.GörmekFFmpeg Wiki: H.264 Video Encoding Guidedaha fazla bilgi için.

  • 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.

  • eskiffmpegkullanılan oluşturur-croptop,-cropbottom,-cropleft,-croprightyerine seçeneklercropFiltre.Eğer senin için durum buysaget a modern ffmpeg.Gelişim çok aktif ve antika kullanmak için hiçbir sebep yok.

+1

Bu şimdi 'avconv' ile çalışır. 16 eyl. 152015-09-16 13:52:11

  0

1923x1080'im var ve 1920x1080'i istiyorum.Denedim bu ödül: '/Kullanıcılar/kukodajanos/Çalışma alanı/ffmpeg -i /Users/kukodajanos/Desktop/video_640x480-2.mp4 -filter: v" crop = 1920: 1080: 0: 0 "-c: bir kopya/Users/kukodajanos/Desktop/video_640x480-4.mp4' fakat orijinal film geri döndü. 24 oca. 172017-01-24 16:18:47

  0

@Joce JFYI avconv libf'in bir parçasıdır - ffmpeg 12 may. 172017-05-12 10:37:38

+1

Bu teknikten bahsetmeye değer (crop kırpma ’filtresi ile) videoyu yeniden kodlar, bkz. kodlama sizin için önemli 14 eki. 172017-10-14 09:58:45

  0

modası geçmiş '-filter: v' değiştirmek için daha güncel ve' -vf' yazmanız daha kolaydır.Şerefe! 15 ara. 172017-12-15 00:35:15

  0

Bir şekilde otomatik bir ölçek alıyorum.Sanırım şu açıdan geliyor:/Örneğin, "kırpma = 80: 60: 200: 100" yaptığımda, son videom 97x60 olacak.Kırpma yanına setsar = 1: 1 eklemeye çalıştım, ancak daha sonra mahsulden önce ölçeklendiriyor gibi görünüyor, bu nedenle son boyut 80x60, ancak içerikler yanlış yön. 28 ara. 172017-12-28 23:53:08