Whatsup - לינוקס, תוכנה חופשית וקוד פתוח בעברית

לינוקס ומדיה דיגיטלית - FFMPEG איך לצרוב את הזמן הנוכחי כולל מילי שניות על כל פריים?

nadavvin - 22/01/2020 - 13:13
נושא ההודעה: FFMPEG איך לצרוב את הזמן הנוכחי כולל מילי שניות על כל פריים?
שלום

איך אפשר לצרוב את הזמן הנוכחי כולל מילי שניות על כל פריים בFFMPEG?

הי קרוב שהגעתי אליו זה:

קוד:

ffmpeg -loglevel verbose -i video.mp4 -vf "drawtext=x=8:y=8:box=1:fontcolor=white:boxcolor=black: \
    expansion=strftime:basetime=$(date +%s)000000: \
    text='%s'" output.mp4


שצורב בשניות.

מצאתי משהו כזה שנראה לכאורה שהוא מדפיס מילי שניות:
קוד:

ffmpeg -loglevel verbose -i video.mp4 -vf "settb=AVTB,
            setpts='trunc(PTS/1K)*1K+st(1,trunc(RTCTIME/1K))-1K*trunc(ld(1)/1K)',
            drawtext=text='%{localtime\: %s}%{eif\:1M*t-1K*trunc(t*1K)\:d}':fontsize=150" output.mp4


שנראה שהמילי שניות מתעדכנות אבל החלק של השניות.
נראה שהבעיה ש localtime לא נקרא כל שניה או כל פריים.

למשל:
קוד:

ffmpeg -loglevel verbose -i video.mp4 -vf "drawtext=text='%{localtime\:%T}':fontsize=50"  -t "00:00:10" output.mp4


שניה מתחלפת רק לאחר 8 שניות ניגון.

תודה.
כל הזמנים הם GMT + 2 שעות