Ffmpeg ile videonun sesini kısıp başka bir müzik ekleme

Rewossky

Administrator
Katılım
2 Ağustos 2016
Mesajlar
6.779
Tepkime puanı
0
Puan
36
Konum
Pripyat
Web sitesi
www.ytpara.com
Videodaki sesi komple kapatıp, istediğiniz mp3dosyasını ses.mp3 adıyla klasöre koyarak videoya enjekte edebilirsiniz hızlıca.

Kod çoğaltılabilir, girdi ve çıktıları ses1. ses2, 1.mp4, 2.mp4, output1, output2 şeklinde düzenleyerek aynı not defteri üzerinden tek seferde onlarca render alabilirsiniz.

Kodun dizaynına göre video adınınız 1.mp4 olmalı, ses dosyanız ise ses.mp3 olmalıdır.


Kod:
ffmpeg -f lavfi -i anullsrc -i 1.mp4 -c:v copy -c:a aac -map 0:a -map 1:v -shortest output.mp4
ffmpeg -i output.mp4 -i ses.mp3 -map 0:v -map 1:a -c:v copy -shortest sesli.mp4



 
Son düzenleme:
Daha fazlası gelecek, eyvallah hocam:)

hocam benimde uğraştığım ama yarım kalan bir proje var. zamınız varsa kodları birleştirebilirmisiniz.

bir ses dosyası (ses doyasının süresi boyunca )her 10 sn de bir de değişen resimler BURAYA KADAR BEN YAPTIM .

AMA resimler 5 sn zoom in 5 sn zoomout olacak şekilde ayarlayamadım.

PHP:
ffmpeg -loop 1 -r 0.1 -i "imgdown\%d.jpg" -i output.mp3 -shortest -start_number 1 -c:v libx264 -vf "scale=1920:1080,format=yuv420p" -r 10 -c:a copy "output1.mp4" -y
 
hocam benimde uğraştığım ama yarım kalan bir proje var. zamınız varsa kodları birleştirebilirmisiniz.

bir ses dosyası (ses doyasının süresi boyunca )her 10 sn de bir de değişen resimler BURAYA KADAR BEN YAPTIM .

AMA resimler 5 sn zoom in 5 sn zoomout olacak şekilde ayarlayamadım.

PHP:
ffmpeg -loop 1 -r 0.1 -i "imgdown\%d.jpg" -i output.mp3 -shortest -start_number 1 -c:v libx264 -vf "scale=1920:1080,format=yuv420p" -r 10 -c:a copy "output1.mp4" -y
Zoom in, zoom out olayı biraz karışık ama yapan olursa telif haklarını dahi geçebilir videoların, ffmpeg hakkında soru sormak isteyenler için ücretsiz yardımsever bir kaç forum var, https://stackoverflow.com/ tavsiye ederim
 
Hocam toplu şekilde videoların örn. ilk 15 saniyesini kesecek bir kod yazılabilir mi
 
Hocam toplu şekilde videoların örn. ilk 15 saniyesini kesecek bir kod yazılabilir mi


Tabi ki kendim kullanıyorum bir kodlamayı, boyut farkı yaratmadan ilk 15 saniyesini keser bu kodlama,

-vcodec'den sonrasına libx264 -crf 30 filtresini eklersen kesilen videonun boyutunu da %90a varan düşürerek kaydeder. Ama re-codec yaptığı için işlem bir tık uzun olur. Diğeri ise -COPY komutu ile rendersiz bir işlem yapar.

Kod:
ffmpeg -i 1.mp4 -vcodec copy -ss 00:00:00 -t 00:00:15 s1.mp4
ffmpeg -i 2.mp4 -vcodec copy -ss 00:00:00 -t 00:00:15 s2.mp4
ffmpeg -i 3.mp4 -vcodec copy -ss 00:00:00 -t 00:00:15 s3.mp4
ffmpeg -i 4.mp4 -vcodec copy -ss 00:00:00 -t 00:00:15 s4.mp4
ffmpeg -i 5.mp4 -vcodec copy -ss 00:00:00 -t 00:00:15 s5.mp4



Ayrıca 15 saniyelik çıktı videolarını aşağıdaki komutu uzatarak otomatik olarak birleştirmesini de yapabilirsin.


Kod:
ffmpeg -i 1.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts h264ilk.ts
ffmpeg -i 2.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts h264iki.ts
ffmpeg -i 3.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts h264UC.ts
ffmpeg -i "concat:h264ilk.ts|h264iki.ts|h264UC.ts" -c copy BirlesenX3.mp4
Del h264ilk.ts
del h264iki.ts
del h264UC.ts
 
Tabi ki kendim kullanıyorum bir kodlamayı, boyut farkı yaratmadan ilk 15 saniyesini keser bu kodlama,

-vcodec'den sonrasına libx264 -crf 30 filtresini eklersen kesilen videonun boyutunu da %90a varan düşürerek kaydeder. Ama re-codec yaptığı için işlem bir tık uzun olur. Diğeri ise -COPY komutu ile rendersiz bir işlem yapar.

Kod:
ffmpeg -i 1.mp4 -vcodec copy -ss 00:00:00 -t 00:00:15 s1.mp4
ffmpeg -i 2.mp4 -vcodec copy -ss 00:00:00 -t 00:00:15 s2.mp4
ffmpeg -i 3.mp4 -vcodec copy -ss 00:00:00 -t 00:00:15 s3.mp4
ffmpeg -i 4.mp4 -vcodec copy -ss 00:00:00 -t 00:00:15 s4.mp4
ffmpeg -i 5.mp4 -vcodec copy -ss 00:00:00 -t 00:00:15 s5.mp4



Ayrıca 15 saniyelik çıktı videolarını aşağıdaki komutu uzatarak otomatik olarak birleştirmesini de yapabilirsin.


Kod:
ffmpeg -i 1.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts h264ilk.ts
ffmpeg -i 2.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts h264iki.ts
ffmpeg -i 3.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts h264UC.ts
ffmpeg -i "concat:h264ilk.ts|h264iki.ts|h264UC.ts" -c copy BirlesenX3.mp4
Del h264ilk.ts
del h264iki.ts
del h264UC.ts

Hocam ilk 15 saniyeyi kırpıp atmıyormu, yoksa ilk 15 saniyeyi mi tutuyor
 
Hocam ilk 15 saniyeyi kırpıp atmıyormu, yoksa ilk 15 saniyeyi mi tutuyor

Verdiğim kod ilk 15 saniyesini yeni video olarak kaydeder.

-ss start second başlangıç saniyesini söyler
-t : trim yani kırpma / kırpılacak yerin başlangıç saniyesi


-ss 00:00:00 -t 00:00:15 başlangıç saniyesini 00:00:10 yaparsan videonun 10 saniyeden sonrasına işlem yapar, -t'den sonraki sayaç ise kaç saniye & dakika video kırpmak istediğini soruyor. Tamamen değiştiriebilir değerler bunlar.
 
Verdiğim kod ilk 15 saniyesini yeni video olarak kaydeder.

-ss start second başlangıç saniyesini söyler
-t : trim yani kırpma / kırpılacak yerin başlangıç saniyesi


-ss 00:00:00 -t 00:00:15 başlangıç saniyesini 00:00:10 yaparsan videonun 10 saniyeden sonrasına işlem yapar, -t'den sonraki sayaç ise kaç saniye & dakika video kırpmak istediğini soruyor. Tamamen değiştiriebilir değerler bunlar.

Hocam ben videoların ilk 10 saniyesinde intro var onu kırpıp yüklemek istiyorum. O zaman -ss 00:00:10 yapsam video uzunlukları değişiklik göstercek o yüzden -t 01:00:00 yapsam mesela ilk 10 saniyeyi atmış olur muyum?
 
Hocam ben videoların ilk 10 saniyesinde intro var onu kırpıp yüklemek istiyorum. O zaman -ss 00:00:10 yapsam video uzunlukları değişiklik göstercek o yüzden -t 01:00:00 yapsam mesela ilk 10 saniyeyi atmış olur muyum?

Evet start second'u 10 saniye olarak girip o şekilde yapabilirsin, tabi bitiş zamanları farklı değerler olacağı için orası seni biraz zorlayabilir ya da mp4joiner programını indirip ffmpeg tabanlı bu program ile rendersiz şekilde kesme yapabilirsin.

https://www.fosshub.com/MP4Joiner.html
 
Kişiselleştirme

Tema editörü

Ayarlar Renkler

  • Mobil kullanıcılar bu fonksiyonları kullanamaz.

    Alternatif header

    Farklı bir görünüm için alternatif header yapısını kolayca seçebilirsiniz.

    Görünüm Modu Seçimi

    Tam ekran ve dar ekran modları arasında geçiş yapın.

    Izgara Görünümü

    Izgara modu ile içerikleri kolayca inceleyin ve düzenli bir görünüm elde edin.

    Resimli Izgara Modu

    Arka plan görselleriyle içeriğinizi düzenli ve görsel olarak zengin bir şekilde görüntüleyin.

    Yan Paneli Kapat

    Yan paneli gizleyerek daha geniş bir çalışma alanı oluşturun.

    Sabit Yan Panel

    Yan paneli sabitleyerek sürekli erişim sağlayın ve içeriğinizi kolayca yönetin.

    Box görünüm

    Temanızın yanlarına box tarzı bir çerçeve ekleyebilir veya mevcut çerçeveyi kaldırabilirsiniz. 1300px üstü çözünürler için geçerlidir.

    Köşe Yuvarlama Kontrolü

    Köşe yuvarlama efektini açıp kapatarak görünümü dilediğiniz gibi özelleştirin.

  • Renginizi seçin

    Tarzınızı yansıtan rengi belirleyin ve estetik uyumu sağlayın.

Geri