Bunun mümkün olamayacağını biliyorum, ama en azından neler olduğunu anlamanızı takdir ediyorum.
Her 2 saniyede bir zorunlu anahtar karelere sahip bir videom var. İdeal olarak, yeniden kodlamak zorunda kalmadan mükemmel çerçeve dilimleri alabileceğimi umuyordum. Örneğin:
ffmpeg -ss 00:00:00 -i original.mp4 -t 2 -c copy slices_0.mp4
ffmpeg -ss 00:00:02 -i original.mp4 -t 2 -c copy slices_1.mp4
ffmpeg -ss 00:00:04 -i original.mp4 -t 2 -c copy slices_2.mp4
...
Bu işe yaramadı.
Daha fazla kazmak, ilk dilimin kare-doğru gibi görünmesine benziyor, fakat ondan sonraki her şeyin hafif bir kayması var (başka problemleri olabilir, ama şimdilik sadece buna odaklanıyorum). İlk kare tamam görünüyor:
# same output
ffmpeg -ss 00:00:03 -i original.mp4 -vframes 1 o.png && md5 o.png
ffmpeg -ss 00:00:00 -i slices_1.mp4 -vframes 1 1.png && md5 1.png
Fakat ondan sonraki her şey kapalı:
# not the same output
ffmpeg -ss 00:00:04 -i original.mp4 -vframes 1 o.png && md5 o.png
ffmpeg -ss 00:00:01 -i slices_1.mp4 -vframes 1 1.png && md5 1.png
Ne yaparsam yapayım aynı sonucu aldım. Çerçeve 60 için orijinalin PTS'sine bakarsam 2.002000 elde ederim (2 yerine). Ama bunu dilimim için kullansam bile, aynı dengeyi alıyorum.
Neler oluyor?
(Muhtemelen farkına varılmadı, ama ben de asıl olmasa da 0_slices.mp4'ün ilk karesinin neden ofset PST / DST olduğunu merak ediyorum)