$ ffmpeg -i source-file.foo -ss 0 -t 600 first-10-min.m4v
$ ffmpeg -i source-file.foo -ss 600 -t 600 second-10-min.m4v
$ ffmpeg -i source-file.foo -ss 1200 -t 600 third-10-min.m4v
...
Bunu bir döngü içinde yapmak için bir komut dosyasına sığdırmak zor olmaz.
Dikkat bu bir gelen süre çıkışına dayalı yineleme sayısını hesaplamak için çalışırsanız ffprobe
bu olduğunu çağrısı tahmin Eğer vermedikçe klibin başlangıç ve klibin dosya boyutunda ortalama bit oranından -count_frames
faaliyete ölçüde yavaşlatır argüman, .
Dikkat edilmesi gereken bir diğer husus, -ss
seçeneğin komut satırındaki konumunun önemli olduğudur . Şimdi sahip olduğum yer yavaş ama doğru. Bu cevabın ilk versiyonu hızlı fakat yanlış bir alternatif verdi . Bağlantılı makale ayrıca, biraz karmaşık bir şekilde ödediğiniz, çoğunlukla hızlı ancak hala doğru olan bir alternatifi açıklamaktadır.
Tüm bunlar bir yana, her klip için tam olarak 10 dakikada bir kesim yapmak istediğinizi sanmıyorum. Bu tam olarak cümlelerin ortasına kesecek, hatta kelimeler. 10 dakikalık aralıklarla utangaç doğal noktaları bulmak için bir video editörü veya oynatıcı kullanmanız gerektiğini düşünüyorum.
Dosyanızın YouTube’un doğrudan kabul edebileceği bir biçimde olduğunu varsayarsak, bölümleri almak için yeniden kodlamanız gerekmez. Doğal kesme noktası ofsetlerini ffmpeg
, "kopya" kodeki kullanılarak dokunulmamış olan A / V kodunu geçmesini söyleyerek iletmeniz yeterlidir:
$ ffmpeg -i source.m4v -ss 0 -t 593.3 -c copy part1.m4v
$ ffmpeg -i source.m4v -ss 593.3 -t 551.64 -c copy part2.m4v
$ ffmpeg -i source.m4v -ss 1144.94 -t 581.25 -c copy part3.m4v
...
-c copy
Argümanı olduğu gibi çıkış içine (potansiyel olarak ses, video ve alt yazılar gibi diğerleri) tüm giriş akışlarını kopyalamak söyler. Basit A / V programları için daha ayrıntılı bayraklara -c:v copy -c:a copy
veya eski stil bayraklarına eşdeğerdir -vcodec copy -acodec copy
. Akışlardan yalnızca birini kopyalamak istediğinizde daha ayrıntılı bir stil kullanır, ancak diğerini yeniden kodlarsınız. Örneğin, yıllar önce, videoyu H.264 video ile sıkıştırmak, ancak sesi sıkıştırılmamış PCM olarak bırakmak için QuickTime dosyalarıyla ortak bir uygulama yapıldı ; Bugün böyle bir dosyayla karşılaştıysanız -c:v copy -c:a aac
, videoyu dokunmadan bırakarak yalnızca ses akışını yeniden işlemek için modernize edebilirsiniz .
İlk komuttan sonraki her komut için başlangıç noktası, önceki komutun başlangıç noktası ve önceki komutun süresidir.