Bunun eski bir soru olduğunu biliyorum ama şu anki cevapların hiçbiri önerilen yol değil.
Kayıpsız (video) yeniden düzenleme
Açıklamalarda belirtildiği gibi Video gelmez nerede bunu yapmanın bir yolu yoktur değil
yeniden kodlanmış olmalıdır. Bu gerektirir remuxing geri bir MP4 içine remuxing sonra farklı containter biçim MKV dosya ve. Bir videoyu saniyede 12 kare olarak değiştiren bir örnek:
mkvmerge --default-duration 0:12fps --fix-bitstream-timing-information 0 original-video.mp4 -o temp-video.mkv
ffmpeg -i temp-video.mkv -c:v copy slow-video.mp4
Video ses içeriyorsa, perdeyi değiştirmeden bunu yavaşlatabilirsiniz, ancak kayıpsız bir dönüşüm değildir . Aşağıdaki örnek, kaynak videonun 24 kare / saniye olduğunu varsayar; böylece ffmpeg'in atempo filtresi kullanılarak sesin yarı (0.5) hıza düşürülmesi gerekir .
mkvmerge --default-duration 0:12fps --fix-bitstream-timing-information 0 original-video.mp4 -o temp-video.mkv
ffmpeg -i temp-video.mkv -c:v copy -c:a aac -filter:a "atempo=0.5" slow-video-with-audio.mp4
FFMPEG Wiki Kılavuzu
Bu ffmpeg wiki'nin rehberliğidir . Tüm bu seçeneklerin videonun yeniden kodlanmasını gerektirdiğini unutmayın.
Videoyu hızlandırma / yavaşlatma
Bir video akışının hızını, ayarlar video filtresini kullanarak değiştirebilirsiniz. Aşağıdaki örneklerde ses akışının değiştirilmediğini, bu nedenle ideal olarak -an ile devre dışı bırakılması gerektiğini unutmayın.
Videonun hızını iki katına çıkarmak için şunları kullanabilirsiniz:
ffmpeg -i input.mkv -filter:v "setpts=0.5*PTS" output.mkv
Filtre, her video karesinin sunum zaman damgasını (PTS) değiştirerek çalışır. Örneğin, zaman damgalarında 1 ve 2'de gösterilen iki başarılı kare varsa ve videoyu hızlandırmak istiyorsanız, bu zaman damgalarının sırasıyla 0,5 ve 1 olması gerekir. Bu nedenle, bunları 0,5 ile çarpmamız gerekiyor.
Bu yöntemin istenen hızı elde etmek için çerçeveleri düşüreceğini unutmayın. Girişten daha yüksek bir çıkış kare hızı belirleyerek atlanan karelerden kaçınabilirsiniz. Örneğin, 4 FPS girişinden 4 kata kadar hızlanan bir girişe (16 FPS) gitmek için:
ffmpeg -i input.mkv -r 16 -filter:v "setpts=0.25*PTS" output.mkv
Videonuzu yavaşlatmak için 1'den büyük bir çarpan kullanmanız gerekir:
ffmpeg -i input.mkv -filter:v "setpts=2.0*PTS" output.mkv
pürüzsüz
Minterpolate video filtresi ile yavaş / hızlı videoyu düzeltebilirsiniz. Bu aynı zamanda "hareket enterpolasyonu" veya "optik akış" olarak da bilinir.
ffmpeg -i input.mkv -filter "minterpolate='mi_mode=mci:mc_mode=aobmc:vsbmc=1:fps=120'" output.mkv
Diğer seçenekler arasında slowmoVideo ve Butterflow bulunur. Sesi hızlandırma / yavaşlatma
Atempo ses filtresi ile sesi hızlandırabilir veya yavaşlatabilirsiniz. Ses hızını iki katına çıkarmak için:
ffmpeg -i input.mkv -filter:a "atempo=2.0" -vn output.mkv
Atempo filtresi 0,5 ile 2,0 arasındaki değerleri kullanmakla sınırlıdır (böylece orijinal hızın yarısından daha azına kadar yavaşlatabilir ve girişin iki katından daha fazla olamaz). Gerekirse, birden fazla atempo filtresini bir araya getirerek bu sınırlamayı aşabilirsiniz. Aşağıdakiler ses hızını dört katına çıkarır:
ffmpeg -i input.mkv -filter:a "atempo=2.0,atempo=2.0" -vn output.mkv
Karmaşık bir filtre kullanarak, video ve sesi aynı anda hızlandırabilirsiniz:
ffmpeg -i input.mkv -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" output.mkv