BITC Features

Use this forum to request features. Maybe you'll get lucky!
Post Reply
graham728
Posts: 81
Joined: Sat Oct 13, 2018 10:54 pm

BITC Features

Post by graham728 »

Hi,

I'd kindly like to request a few features to be added to the BITC Timecode feature if possible.

I'd like to make the BITC even smaller than what is currently possible.

Also, it would be great if you could burn in the clip name alongside the timecode - like in the attached screengrab.

I've used Resolve to make the attached proxy with BITC and filename burned in.

Ideally, the file name will be left aligned so that longer names don't start pushing the text off-screen to the left.

Thanks!
Attachments
Screenshot 2024-07-19 122922.png
Screenshot 2024-07-19 122922.png (992.33 KiB) Viewed 9973 times
jan2ooo
Posts: 10
Joined: Mon Jul 01, 2024 8:12 am

Re: BITC Features

Post by jan2ooo »

Hey @graham728.

This can be done via "custom FFmpeg" node and the "drawtext" function of FFmpeg. Multiple Metadata can be added using ffastrans variables.
User avatar
FranceBB
Posts: 250
Joined: Sat Jun 25, 2016 3:43 pm
Contact:

Re: BITC Features

Post by FranceBB »

Apologies for the oversight!
Jan2ooo is absolutely right, the position and size can indeed be specified via a Custom FFMpeg node, however it's gonna be a big convoluted as you're gonna have to know a few things about the input.
In this example we're creating a proxy with the timecode at the bottom.

Code: Select all

-vf "drawtext=\timecode='%s_start_tc%':timecode_rate=%f_frame_rate%:x=(w-tw)/2:y=h-(1*lh):fontcolor=white@1:fontsize=25:box=1:boxcolor=black@0.6" -c:v libx264 -profile:v high -level:v 4.1 -refs 4 -pix_fmt yuv420p -crf 25 -x264opts "force_cfr=1:deblock=-1,-1:aud=1:overscan=show:colorprim=bt709:fullrange=off:transfer=bt709:colormatrix=bt709" -color_primaries bt709 -color_trc bt709 -colorspace bt709 -color_range tv -field_order progressive -c:a aac -b:a 550k -ar 48000
and set the extension as "mp4".
The important bits here are x=(w-tw)/2:y=h-(1*lh) which handles the position (for instance if you put (2*lh) instead of being at the bottom it will go higher and so on. The other important thing is of course fontsize=25. Reducing the fontsize will make the whole thing smaller.

The problem is that you're encoding the final output yourself instead of leveraging on a FFAStrans encoding node which isn't ideal unless you're absolutely sure that your inputs will never change. On top of that, things get even more complicated if you have like varying audio channel layouts.
My suggestion of course would be to not go with FFMpeg and to actually go with Avisynth instead. :)
In particular, you can create a Custom Avisynth Script node with the following script:

Code: Select all

m_clip=ShowSMPTE(m_clip, fps=%f_frame_rate%, offset="%s_start_tc%")

return m_clip
and then connect it to your usual encoding node so that you don't have to change anything in your workflow and you can still leverage on the filter_builder.a3x to get things sorted for you. :)
As to how to change the position and size, you can just use the following parameters

Code: Select all

size=24, x=0, y=0
and change them according to your needs. :)
graham728
Posts: 81
Joined: Sat Oct 13, 2018 10:54 pm

Re: BITC Features

Post by graham728 »

Thanks Frances :) is there a way to burn in filename to the visuals?
User avatar
FranceBB
Posts: 250
Joined: Sat Jun 25, 2016 3:43 pm
Contact:

Re: BITC Features

Post by FranceBB »

Yep, if you need something "basic" you can use either the Text() function or the Subtitle() function.
For instance, you could do something like this:

Code: Select all

ShowSMPTE(m_clip, fps=%f_frame_rate%, offset="%s_start_tc%")
Subtitle("%s_original_name%")

m_clip=last

return m_clip
and as always use the size, x and y parameters to adjust accordingly.
For instance, I've used the following hardcoded values in AVSPmod mod (an IDE for Avisynth) to emulate what you showed in the screenshot:

Code: Select all

ColorBars(848, 480, pixel_type="YV12")

ShowSMPTE(fps=25, offset="10:00:00:00", size=24, x=90, y=400)
Subtitle("Test", size=24, x=40, y=410)
Screenshot from 2024-08-20 18-23-10.png
Screenshot from 2024-08-20 18-23-10.png (13.29 KiB) Viewed 4032 times

p.s FranceBB stands for Francesco Bucciantini which is my name and surname. In English the natural translation of Francesco would be Frank, so feel free to call me Frank. ;)
Post Reply