|
1 | | -# ffmpeg, avconv |
2 | | - |
3 | | - |
4 | | -ffmpeg, avconv |
5 | | - |
| 1 | +# ffmpeg, avconv, moviepy |
6 | 2 |
|
| 3 | +Video birlestirmek icin en rahat arac Python `moviepy` paketi ile, |
7 | 4 |
|
| 5 | +``` |
| 6 | +from moviepy.editor import VideoFileClip, concatenate_videoclips |
| 7 | +clip1 = VideoFileClip("v1.mp4").resize(0.50) |
| 8 | +clip2 = VideoFileClip("v2.mp4").resize(0.50) |
| 9 | +final_clip = concatenate_videoclips([clip1,clip2]) |
| 10 | +final_clip.write_videofile("out.mp4") |
| 11 | +``` |
8 | 12 |
|
9 | 13 | Bazi ffmpeg, avconv komutlari |
10 | 14 |
|
11 | 15 | Bir video dosyasinin belli zaman araligindaki parcasini cikartmak icin |
12 | 16 |
|
| 17 | +``` |
13 | 18 | avconv -i girdi.mkv -ss [saniye] -t [saniye suresi] -codec copy cikti.mkv |
| 19 | +``` |
14 | 20 |
|
15 | | -Bir video'nun belli bir parcasini nasil animasyon gif dosyasi haline ceviririz? Bir frames alt dizini yaratalim, sonra 20. saniyeden baslayip 10 saniyelik kismi cikartalim. Once sadece goruntu dosyalari alacagiz, |
| 21 | +Bir video'nun belli bir parcasini nasil animasyon gif dosyasi haline |
| 22 | +ceviririz? Bir frames alt dizini yaratalim, sonra 20. saniyeden |
| 23 | +baslayip 10 saniyelik kismi cikartalim. Once sadece goruntu dosyalari |
| 24 | +alacagiz, |
16 | 25 |
|
17 | | -ffmpeg -ss 00:00:20 -t 00:00:10 -i [video dosyasi] -vf scale=320:-1:flags=lanczos,fps=10 frames/ffout-%03d.png |
| 26 | +``` |
| 27 | +ffmpeg -ss 00:00:20 -t 00:00:10 -i [video dosyasi] -vf \ |
| 28 | + scale=320:-1:flags=lanczos,fps=10 frames/ffout-%03d.png |
| 29 | +``` |
18 | 30 |
|
19 | 31 | Simdi bu dosyalari ImageMagick ile birlestirip animasyonu yaratalim |
20 | 32 |
|
| 33 | +``` |
21 | 34 | convert -loop 0 frames/ffout*.png output.gif |
| 35 | +``` |
22 | 36 |
|
23 | 37 | Format degisimi, kucultmek, mumkun oldugu kadar kaliteyi istenen sekilde tutmak, 440 yuksekliginde, genislik izafi, kalite 23 (en kaliteli 0) |
24 | 38 |
|
| 39 | +``` |
25 | 40 | ffmpeg -i input.mkv -vf scale=-1:440 -crf 23 output.avi |
| 41 | +``` |
26 | 42 |
|
27 | 43 | Format degisimi (ornekte mp4'den avi), video'nun bir kismini cekip cikartmak, mesela 100. saniyeden baslayarak 20 saniyelik kisim, |
28 | 44 |
|
| 45 | +``` |
29 | 46 | ffmpeg -i vid1.mp4 -ss 100 -t 20 -acodec copy -vcodec copy vid2.avi |
| 47 | +``` |
30 | 48 |
|
31 | 49 | Ustteki islemi daha hizli yapmak icin mp4 formatina degisim ve alttaki ekler gerekebilir |
32 | 50 |
|
| 51 | +``` |
33 | 52 | ... -b:v 2500 -c:v mpeg4 .... |
| 53 | +``` |
34 | 54 |
|
35 | 55 | Video'yu numarali JPG imaj dosyalari haline getirmek |
36 | 56 |
|
| 57 | +``` |
37 | 58 | ffmpeg -i vid.avi -vcodec mjpeg %05d.jpg |
| 59 | +``` |
38 | 60 |
|
39 | 61 | Ses ve goruntu dosyalarini islemek icin ffmpeg kullananlar icin Ubuntu 14'da surpriz: ffmpeg programi apt-get ile kurulamiyor. Dolambacli yollardan kurmak mumkun fakat yeni one surulen program avconv. Kurmak icin |
40 | 62 |
|
41 | | - |
42 | | - |
| 63 | +``` |
43 | 64 | sudo apt-get install libav-tools |
44 | | - |
45 | | - |
| 65 | +``` |
46 | 66 |
|
47 | 67 | Bir ses dosyasinin belli zaman araliklarindaki kismini cikartmak icin |
48 | 68 |
|
49 | | - |
50 | | - |
| 69 | +``` |
51 | 70 | avconv -i dosya.mp3 -ss 0:0:6 -t 0:0:8 -acodec copy parca.mp3 |
52 | | - |
53 | | - |
| 71 | +``` |
54 | 72 |
|
55 | 73 | Bu komut dosyanin 6. saniyesinden baslayakara 8 saniyelik bir kismi cikartiyor. |
56 | 74 |
|
57 | | - |
58 | | - |
59 | 75 | Diger bazli ffmpeg komutlari.. Mesela bir gorutuyu cevirmek icin |
60 | 76 |
|
| 77 | +``` |
61 | 78 | ffmpeg.exe -i dosya.mp4 -vf "transpose=2" sonuc.mp4 |
| 79 | +``` |
62 | 80 |
|
63 | 81 | transpose parametresine verilen degerlerin anlami var, 1 saat yonu, 2 saat yonu tersi. |
64 | 82 |
|
65 | 83 | Video ufaltmak icin |
66 | 84 |
|
| 85 | +``` |
67 | 86 | ffmpeg -i dosya.mp4 -vf scale=320:240 sonuc.mp4 |
| 87 | +``` |
68 | 88 |
|
69 | 89 | Ya da |
70 | 90 |
|
| 91 | +``` |
71 | 92 | ffmpeg -i dosya.mp4 -filter:v scale=640:-1 -c:a copy sonuc.mp4 |
| 93 | +``` |
72 | 94 |
|
73 | 95 | Genisligi 640 yap, geri kalan her seyi ona gore ayarla dedik. |
74 | 96 |
|
75 | 97 | Video birlestirmek icin bir ara formattan gecmek lazim. |
76 | 98 |
|
| 99 | +``` |
77 | 100 | ffmpeg -i dosya1.mp4 -q:v 1 -filter:v scale=500:-1 -f mpegts dosya1.ts |
78 | 101 | ffmpeg -i dosya2.mp4 -q:v 1 -filter:v scale=500:-1 -f mpegts dosya2.ts |
79 | 102 | .. |
| 103 | +``` |
| 104 | + |
80 | 105 |
|
81 | 106 | Sonra birlestirmek icin |
82 | 107 |
|
| 108 | +``` |
83 | 109 | ffmpeg -i "concat:dosya1.ts|dosya2.ts|..." -c copy sonuc.mp4 |
84 | | - |
| 110 | +``` |
85 | 111 |
|
86 | 112 | Eger Windows'da bir mp4 cikmiyorsa, bir cevrim sekli de soyle, |
87 | 113 |
|
88 | | -ffmpeg -i dosya.mp4 -r 30 -codec:v mpeg4 -flags:v +qscale -global_quality:v 0 -codec:a libmp3lame dosya.avi |
89 | | - |
90 | | - |
| 114 | +``` |
| 115 | +ffmpeg -i dosya.mp4 -r 30 -codec:v mpeg4 -flags:v +qscale \ |
| 116 | + -global_quality:v 0 -codec:a libmp3lame dosya.avi |
| 117 | +``` |
91 | 118 |
|
92 | 119 |
|
93 | 120 |
|
|
0 commit comments