• 04-02-2023, 19:41:06
    #1
    Arkadaşlar 3 adet klasör varsayalım
    - Klasör 1
    - Klasör 2
    - Output

    Klasör 1 içerisinde bulunan 10 adet video var, isimler (1.mp4, 2.mp4, 3.mp4..... 10.mp4)
    Klasör 2 içerisinde de 10 Adet video var (a.mp4, b.mp4, c.mp4..... z.mp4)
    Şimdi 1.mp4 ile 1.mp4 birleştirmesini istiyorum sırasıyla kaç video varsa birleştirecek ve output klasörü içerisinde kaydedecek.

    Konuyla ilgilenen arkadaşlar Pm'den detayları ve istedikleri ücreti iletebilir.
  • 04-02-2023, 20:35:54
    #2
    Suat hocam Skypeden yazın yapalım
  • 04-02-2023, 21:05:52
    #3
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Bash scripting ile yazılsa işinizi görür mü?
  • 04-02-2023, 21:26:36
    #4
    AndyCap adlı üyeden alıntı: mesajı görüntüle
    Bash scripting ile yazılsa işinizi görür mü?
    Hocam Bash scripting nedir bilmiyorum, Normalde bu işi manuel olarak ffmpeg kodları ile yapıyorum, hızlı bir şekilde hallediyor, burada önemli olan hızlı işlem yapması, Buda hızlı işlem yaparsa benim için sorun yok. Detay ve ücreti pm alabilirmiyim.
  • 04-02-2023, 21:32:39
    #5
    Herhangi bir ücrete gerek yok. Script ile ilgili bir problem yaşarsanız, konu altından sorunu bildirin lütfen yardımcı olmaya çalışırım.

    #!/bin/bash
    
    shuffle() {
    local i j tmp
    local -n files=$1
    for ((i=${#files[@]}-1; i>0; i--)); do
    j=$((RANDOM%(i+1)))
    tmp=${files[i]}
    files[i]=${files[j]}
    files[j]=$tmp
    done
    }
    
    files1=(klasor1/*)
    files2=(klasor2/*)
    
    shuffle files1
    
    for i in "${!files1[@]}"; do
    file1=${files1[i]}
    file2=${files2[i]}
    printf -v outfile "output_%02d.mp4" "$((i + 1))"
    ffmpeg -i "$file1" -i "$file2" \
    -filter_complex "[0:v:0][0:a:0][1:v:0][1:a:0]concat=n=2:v=1:a=1[outv][outa]" \
    -map "[outv]" -map "[outa]" "output/$outfile"
    done
  • 04-02-2023, 21:50:06
    #6
    AndyCap adlı üyeden alıntı: mesajı görüntüle
    Herhangi bir ücrete gerek yok. Script ile ilgili bir problem yaşarsanız, konu altından sorunu bildirin lütfen yardımcı olmaya çalışırım.

    #!/bin/bash
    
    shuffle() {
    local i j tmp
    local -n files=$1
    for ((i=${#files[@]}-1; i>0; i--)); do
    j=$((RANDOM%(i+1)))
    tmp=${files[i]}
    files[i]=${files[j]}
    files[j]=$tmp
    done
    }
    
    files1=(klasor1/*)
    files2=(klasor2/*)
    
    shuffle files1
    
    for i in "${!files1[@]}"; do
    file1=${files1[i]}
    file2=${files2[i]}
    printf -v outfile "output_%02d.mp4" "$((i + 1))"
    ffmpeg -i "$file1" -i "$file2" \
    -filter_complex "[0:v:0][0:a:0][1:v:0][1:a:0]concat=n=2:v=1:a=1[outv][outa]" \
    -map "[outv]" -map "[outa]" "output/$outfile"
    done
    Hocam zahmet edip o kadar yazmıssınız çok teşekkür ediyorum. Fakat benim bu konuda hiç bilgim yok, Yukarıda sadece kod görüyorum.