[FFmpeg-user] Use processed filename as draw text after tmix, in one pass?

Paul B Mahol onemda at gmail.com
Thu Apr 25 09:54:05 EEST 2024


On Thu, Apr 25, 2024 at 6:21 AM Steven Kan <steven at kan.org> wrote:

>
> > Thanks! This works, and I agree that it’s better than using the filename:
> >
> > ffmpeg -pattern_type glob -i '*.jpg' -vf
> "drawtext=text='%{metadata\\:DateTimeOriginal}':
> fontfile=/System/Library/Fonts/Helvetica.ttc:fontcolor=white: fontsize=48:
> x=(w-text_w)*0.01: y=(h-text_h)*0.98" -y CombLapseWithTimeStamp.mp4
> >
> > I can now add tmix after drawtext:
> >
> > ffmpeg -pattern_type glob -i '*.jpg' -vf
> "drawtext=text='%{metadata\\:DateTimeOriginal}':
> fontfile=/System/Library/Fonts/Helvetica.ttc:fontcolor=white: fontsize=48:
> x=(w-text_w)*0.01: y=(h-text_h)*0.98, tmix=frames=10:weights='1'" -y
> CombLapseWithTimeStampAndTmix.mp4
> >
> > And it renders, but the timestamps get blended.
> >
> > Can I use “split” to make one stream of images from which I can extract
> the timestamp, and then another stream for tmix, and then overlay the
> timestamp after tmix? How would I sync up the two streams, since tmix would
> be N frames shorter than the original?
>
> Hmmm.
>
> This:
>
> https://youtu.be/-NB1JzR5aCQ
>
> is the result of:
>
> ffmpeg -pattern_type glob -i '*.jpg' -vf "split [tmp][main]; [tmp]
> crop=iw:ih*0.05:0:ih*0.95, drawtext=text='%{metadata\\:DateTimeOriginal}':
> fontfile=/System/Library/Fonts/Helvetica.ttc:fontcolor=white: fontsize=72:
> x=(w-text_w)*0.01: y=(h-text_h)*0.01 [text]; [main]
> tmix=frames=10:weights='1' [blend]; [blend][text] overlay=0:H*0.95" -y
> CombLapseWithTimeStampAndTmixSplit.mp4
>
> which approximates the result I'm trying to achieve, but it's cheating,
> because it's making a separate stream of the bottom 5% of the video with
> the drawtext overlay, and then overlaying that on top of the blended
> frames. It appears to work only because there's nothing much happening in
> the bottom half of the frames.  If there were any significant bee activity
> in the bottom 5% it would be apparent that that section is not getting
> tmixed.
>
> Can anyone help me construct a filter chain that will overlay the internal
> timestamp in an arbitrary position on top of the blended frames, after tmix
> has been applied?
>

Not anyone, but what about adding drawtext *after* tmix ?



> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".
>


More information about the ffmpeg-user mailing list