Ffmpeg kullanarak videonun önüne görüntü kaplaması ekleyin


18

Çok fazla videom var ve yaklaşık 5 saniye boyunca önlerine bir resim koymalıyım, ancak el ile ekleyip her seferinde görüntülemesi çok uzun sürüyor, bu yüzden ffmpeg ile yapıp yapamayacağınızı ve ffmpeg konusunda deneyimim olmadığı için lütfen bana yardım edin.Bazı komutları zaten buldum ama hiçbiri işe yaramadı.

ffmpeg -itsoffset 5 -i in.mp4 -r 25 -loop 1 -i intro.png -filter_complex "[1:v] fade=out:125:25:alpha=1 [intro]; [0:v][intro] overlay [v]" -map "[v]" -map 0:a -acodec copy out.mp4
  0

Az önce bu komutu kopyaladınız mı ya da ihtiyaçlarınıza göre mi yazdınız?Soruyorum çünkü bu komut solma gibi şeyleri ve sorunuzda ele alınmayan her türlü şeyi içeriyor.Sadece bir görüntüyü bindirmeye mi ihtiyacınız var yoksa bundan daha fazlasına mı ihtiyacınız var? 07 tem. 142014-07-07 12:18:11

  0

Bir yerden kopyaladım, tek ihtiyacım olan görüntüyü videonun önüne koymak. 08 tem. 142014-07-08 09:11:48

25

Aşağıdaki sözdizimini kullanarak basit bir görüntü bindirmesi yapabilirsiniz:

ffmpeg -i input.mp4 -i image.png \
-filter_complex "[0:v][1:v] overlay=25:25:enable='between(t,0,20)'" \
-pix_fmt yuv420p -c:a copy \
output.mp4

overlay=25:25görüntüyü 25px sağa ve 25px aşağıya, sol üst köşeden (0: 0) gelecek şekilde konumlandırmak istediğimiz anlamına gelir.

enable='between(t,0,20)'Görüntünün ikinci 0 ile 20 arasında gösterilmesini istediğimiz anlamına gelir.

[0:v][1:v]içe aktardığımız ilk video dosyasını istediğimiz anlamına gelir-i, bizim durumumuzda input.mp4 ya da ffmpeg, video giriş dosyası numarası 0 olarak nasıl görüyorsa, bizim durumumuzda image.png.:vsadece video 0 ve video 1 istediğimiz anlamına gelir.[0:a]İlk ithal ses parçasını istediğimiz anlamına gelir.Bu ayrıca input.mp4'ten gelir ancak mp4 dosyasındaki video kaydı yerine ses parçasını gösterir.

Belli bir görüntü kalitesi/ayarları istiyorsanız, ffmpeg'in seçtiği ayarlar yerine, kullanmak istediğiniz görüntü ve ses kodlama seçeneklerini ekleyin.Varsayılan video kodlayıcı x264 olacaktır.Kontrol edinH.264 encoding guideolası ayarlar için.

-acodec copy/-c:a copyKomutunuzda bulunduğunuz için, kaynak dosyadaki sesi tekrar kullanabilirsiniz.Elbette bu videoyla bunu yapamamanıza rağmen (bu durumda), bunun kod dönüştürülmesi gerekiyor, çünkü yeni bir video kaynağı oluşturuyoruz.

Sesi dönüştürmek istiyorsanız,-c:a copyBölüm.Örneğin, bir kodlayıcıyı açıkça belirtmeniz gerekebilir-c:a aac -strict experimental.BakınAAC encoding guidedaha fazla bilgi için.

  0

Yukarıdaki komutun yinelemesi, benim için Android'de işe yaradı, çünkü orijinal olanı aac gibi veriyor ve yanılıyor deneysel bir özellik: ffmpeg -i input.mp4 strict -2 -i image.png -filter_complex [0: v] [1: v] yer paylaşımı = 25: 25: enable = 'arasında (t, 0,20)' çıkış. 20 mar. 152015-03-20 11:11:20

  0

Zaten yüksekliği bilmeden dipte pozisyon var mı?genişliğini bilmeden ya da sağa? 26 ağu. 162016-08-26 04:08:24

  0

elbette videoyu ffprobe ile analiz edin ve videonun boyutlarını çıktıdan çıkarın.Belki ffmpeg ile bütünleşik bir seçenek de var ama farkında değilim. 26 ağu. 162016-08-26 21:33:06

  0

Görüntünün merkezde görünmesini sağlayan bir yöntem veya hesaplama var mı? 26 eki. 162016-10-26 13:22:25

+1

Komutunuz **, orijinal video dosyasının bir parçasını değiştirir, ancak kullanıcı videodan önce ve/veya sonra ** bir resim eklemek isteyebilir **.Lütfen bu konuda yardımcı olun 04 haz. 172017-06-04 20:47:10

  0

@ porton Bu, bir bindirme eklemekle ilgilidir, farklı bir konuda yardıma ihtiyacınız olursa, bu sayfanın sağ üst köşesinde "Soru Sor" düğmesiyle yeni bir soru açmaktan çekinmeyin. 04 haz. 172017-06-04 21:15:30

  0

PNG yerine GIF'i aynı amaç için kullanabilir miyiz? 22 ağu. 172017-08-22 11:49:09

  0

Elbette, FFMPEG tarafından desteklenen her format.Bir video dosyası da kullanabilirsiniz. 22 ağu. 172017-08-22 13:41:30