15 Eylül 2020 Salı

ffmpeg Video Options

Eski İşlemcilerde
ffmpeg C ile kodlandığı için işlemcinin eski olması önemli değil. Açıklaması şöyle.
FFmpeg (and codecs like x264) will compile and run on nearly anything (it's written in fairly portable C), it's just a question of how fast it will be.
Videonun kalitesi değil, çözünürlüğü daha önemli. Açıklaması şöyle. Asıl işlemciyi zorlayan şey çözünürlük.
Video quality (bitrate) isn't the key point, it's resolution (how much RAM an uncompressed frame takes)
Örnek - thread sayısı
Girdi videodan saniyede 30 frame almak ve 1 thread kullanmak için şöyle yaparız.
ffmpeg -i 50fps.mp4 -filter:v fps=30 -threads:v 1 30fps.mp4
-c:v
Örnek
Encoder olarak H.264 seçmek için şöyle yaparız.
ffmpeg -y -threads 1 -i "D:\foo.mp4" -c:v libx264 -preset ultrafast -c:a aac 
 -max_muxing_queue_size 1024 "D:\bar.mp4"
En iyi sıkıştırma istiyorsak -preset veryslow seçilmeli

-vf seçeneği
filtergraph için kullanılır. 
Örnek
Şöyle yaparız-vf ... yerine -filter:v ... kullanılıyor
ffmpeg -i output.mp4 -filter:v "setpts=0.5*PTS" output2.mp4
veya
ffmpeg -i output.mp4 -vf "setpts=0.5*PTS" output3.mp4
Örnek - fps
Girdi videodan saniyede 15 frame almak için şöyle yaparız.
ffmpeg -i first.mp4 -vf fps=15  preview%05d.jpg
Örnek - fps
Girdi videodan saniyede 50 frame almak için şöyle yaparız.
ffmpeg -i foo.flv -vf fps=50 foo.gif
Örnek - fps
Girdi videodan saniyede 30 frame almak için şöyle yaparız.
ffmpeg -threads 1 -i 50fps.mp4 -filter:v fps=30 30fps.mp4
Örnek
Overlay için şöyle yaparız.
ffmpeg -i main.mp4 -vf 'movie=effect.mp4 [f];[in][f] overlay=0:0 [out]' out.mp4








Hiç yorum yok:

Yorum Gönder