Paketlenmiş video oynatırken ffplay bindirme geçerli zaman damgası


0

Drawtext filtresi ffplaykullanarak ham H.265 video oynatırken geçerli zaman damgasının bir bindirmesini oluşturmaya çalışıyorum .

Geçerli kare numarasının yerleşimi aşağıdakilerle uyumludur:

ffplay -vf "drawtext=fontfile=/Library/Fonts/Microsoft/Arial.ttf: text='%{n}':box=1:x=(w-tw)/2:y=h-(2*lh)" video.265

Bu yayında kullanarak açıklandığı gibi mevcut zaman damgasını görüntüleyemiyorum text='%{pts\:hms}'. Bunu kullanmak benim işlenmiş çıktım şuna benziyor:

ekran görüntüsü

Ben ham H.265 dosyasının herhangi bir zamanlama bilgisi olmadığını anlıyorum, bu yüzden kullanmamamın nedeni bu olabilir pts\:hms.

Sorum şu ki, şu anki kare sayısını olduğu gibi kullanmak mümkün mü , text='%{n}'ancak bunun gibi bir şeyi kare hızına bölmek mümkün text='%{n/24}'mü? Ne yazık ki text='%{n/24}'izin verilmiyor ve text='%{n}/24'ayrıca çalışmıyor:

screenshot2

Sadece bir bilgi. Ham videoyu mp4 dosyasına paketledim ffmpeg -i video.265 -c:v copy video.mp4ve daha sonra yukarıdaki yazıdan gelen komut gayet iyi çalışıyor. Ancak drawtext filtresinin içinde bir hesaplama yapmanın mümkün olup olmadığını hala merak ediyorum.

Yanıtlar:


1

eifFonksiyonu kullanmak zorunda

ffplay -vf \
       "drawtext=fontfile=/Library/Fonts/Microsoft/Arial.ttf: \
        text='%{eif\:trunc(n/3600/24)\:d\:2}\:%{eif\:trunc(n/60/24)\:d\:2}\:%{eif\:trunc(mod(n*24\,60))\:d\:2}: \
        box=1:x=(w-tw)/2:y=h-(2*lh)" \
video.265

Bu bir HH: MM: SS çıkışı üretir ve 24 fps video akışı bekler.


İşe ama nyerine t. kullanarak taşağıdaki hatayı var: ifade metni genişletme işlevi için 'trunc (t / 60)' ifadesi geçerli değil
incBrain

Ham bir akış tiçin atanmamış veya hesaplanmamıştır. Güncellenmiş komut
Gyan
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.