Hello,
newbie here!
sorry for flooding with requests the forum of this great software!
I am trying to burn-in the timecode on videos we export. We edit in Premiere Pro and our timeline starts at 23:59:50:00 to allow a 10 seconds slate at the beginning, so that the actual program starts at 0:00:00:00.
This works in Premiere Pro, however, if I tell FFAStrans to use the clip's original TC as a start, the TC goes to 24:00:00:00.
I searched the forum but couldn't find any previous request about this, would you be able to help?
Thanks!
Timecode from 23:59:59:24 to 00:00:00:00
Re: Timecode from 23:59:59:24 to 00:00:00:00
No worries, we love requests, especially when it goes in direction of unwanted/bug behaviour
Is this the same workflow as the other one, e.g. you encode to xdcamhd? I ask because 24:00 timecode is "allowed" in some formats but definitely not in mpeg2.
Is this the same workflow as the other one, e.g. you encode to xdcamhd? I ask because 24:00 timecode is "allowed" in some formats but definitely not in mpeg2.
emcodem, wrapping since 2009 you got the rhyme?
Re: Timecode from 23:59:59:24 to 00:00:00:00
Oh, those are very kind words!
No, in this case I am interested in a low-resolution H.264 for preview only.
Thanks!
No, in this case I am interested in a low-resolution H.264 for preview only.
Thanks!
Re: Timecode from 23:59:59:24 to 00:00:00:00
Hi Railio, thanks for reporting this
This is default behavior of the ShowSMPTE filter in avisynth. Obviously one should be able to make sure it's reset to 00:00:00:00 instead of continuing to 24:00:00:00. We will have to address this in the next version and work around the inbuilt limitation of the ShowSMPTE filter.
-steinar
This is default behavior of the ShowSMPTE filter in avisynth. Obviously one should be able to make sure it's reset to 00:00:00:00 instead of continuing to 24:00:00:00. We will have to address this in the next version and work around the inbuilt limitation of the ShowSMPTE filter.
-steinar
Re: Timecode from 23:59:59:24 to 00:00:00:00
Hi Railio,
the 24:00:00:00 is wrong for sure, maybe it goes to 29:59:59:24 to make us work longer...
AFAIK the behaviour in various Tape-Machines and AVID Batch-Import is like that:
TC at Position is: 23:45:10:10
enter TC on locator: 00:01:05:00
-> Recorder will REWIND because 00:01:05:00 is before 23:45:10:10
BUT
a TC-generator set to 23:59:50:00 and started will go over the 00:00:00:00-Time, not 24:00:00:00
I would recommend to avoid these "next-day"-Timecodes. Also, never start at 00:00:00:00. For best compatibility start recording-media at 01:00:00:00 and timelines at 10:00:00:00 or, if you want to add a leader of say 10 Seconds, 09:59:50:00.
Just my two cents...
cheers,
thomas
the 24:00:00:00 is wrong for sure, maybe it goes to 29:59:59:24 to make us work longer...
AFAIK the behaviour in various Tape-Machines and AVID Batch-Import is like that:
TC at Position is: 23:45:10:10
enter TC on locator: 00:01:05:00
-> Recorder will REWIND because 00:01:05:00 is before 23:45:10:10
BUT
a TC-generator set to 23:59:50:00 and started will go over the 00:00:00:00-Time, not 24:00:00:00
I would recommend to avoid these "next-day"-Timecodes. Also, never start at 00:00:00:00. For best compatibility start recording-media at 01:00:00:00 and timelines at 10:00:00:00 or, if you want to add a leader of say 10 Seconds, 09:59:50:00.
Just my two cents...
cheers,
thomas
Re: Timecode from 23:59:59:24 to 00:00:00:00
We clearly inherited this way of working from our tapes era
But I guess your suggestion makes sense, ThomasM, I think we will adopt that and therefore solve the issue.
Thank you all!
But I guess your suggestion makes sense, ThomasM, I think we will adopt that and therefore solve the issue.
Thank you all!
Re: Timecode from 23:59:59:24 to 00:00:00:00
Yeah we generally tend to avoid midnight timecode as well but sometimes it is not possible (e.g. we had a 3 day long recording from costa concordia sinking hehe)
To complete this, here is a custom avs script that can be used 1:1 in the custom avs processor.
To complete this, here is a custom avs script that can be used 1:1 in the custom avs processor.
Code: Select all
m_clip = super(m_clip,"%s_start_tc%")
return m_clip
#### DO NOT MODIFY LINES BELOW UNLESS YOU KNOW WHAT YOU DO
#
# Mug's Timecode stuff. (modified by emcodem to consider midnight timecode)
#
# tc:
# enter a timecode string in quotes, and out comes an integer frame number.
#
# itc:
# reverse of tc - enter a frame number, and out comes a SMPTE timecode.
#
# - for both of these, you can enter a framerate as well (last.framerate is useful)
#
#
# super:
# outputs a SMPTE timecode in a shaded box. useful for subtitling.
#
# - you can also enter a "start timecode" in quotes (like "10:00:00:00")
# which helps if you're syncing with a tape's timecode.
#
function tc (string "timecode", float "rate")
{
#frames from smpte tc and framerate
rate=default(rate,25)
frames=value(rightstr(timecode,2))
secs=value(rightstr(timecode,5).leftstr(2))*rate
mins=value(rightstr(timecode,8).leftstr(5))*60*rate
hours=value(rightstr(timecode,11).leftstr(8))*60*60*rate
int(hours+mins+secs+frames)
}
function itc (int "framecount", float "rate", bool "ms")
{
rate=default(rate,25)
ms = default(ms, false)
drop = (rate==29.97)? true : false
rate2 = (drop==true)? 30 : rate
hours=floor((framecount/rate)/3600)%60
mins=floor((framecount/rate)/60.0)%60
secs=floor(framecount/rate)%60
milli=floor(1000*framecount/rate)%6000%1000
fmilli=framecount/rate - floor(framecount/rate)
#frames=floor(fmilli*rate2)
frames=framecount%int(rate)
dframes = (drop==false)? frames : (secs==0)&&(mins%10!=0)? floor(fmilli*rate2) + 2 : frames
return (ms==false)? (string(hours,"%02.0f")+":"+string(mins,"%02.0f")+":"+string(secs,"%02.0f")+":"+string(frames,"%02.0f")) :
\ (string(hours,"%02.0f")+":"+string(mins,"%02.0f")+":"+string(secs,"%02.0f")+":"+string(milli,"%03.0f"))
}
function super (clip c, string "offset", bool "ms")
{
global rate = c.framerate
global bheight=int(c.height*0.15/4)*4
bwidth=int(c.width*0.4/4)*4
off=int(c.height*0.15/4)*4
ms = default(ms, false)
offset = default(offset,"00:00:00:00")
global offset = tc(offset)
global ms = ms
box=c.crop((c.width-bwidth)/2, c.height-(bheight+off), bwidth, bheight).levels(0,1,255,0,160)
left=c.crop(0, 0, (c.width-bwidth)/2, 0)
right=c.crop((c.width-bwidth)/2 + bwidth, 0, (c.width-bwidth)/2, 0)
top=c.crop((c.width-bwidth)/2, 0, bwidth, c.height-(bheight+off))
bottom=c.crop((c.width-bwidth)/2, c.height-off, bwidth, off)
#do we exceed 23:59:59:xx
box = ScriptClip(box, "
midnight = int(24*60*60*rate)
framenum_normalized = (current_frame+offset) <= midnight ? (current_frame+offset) : current_frame - (midnight - offset)
Subtitle(String(itc(framenum_normalized, rate, ms=ms)),align=2,y=int(.225*bheight) + bheight/2, size=round(.45*bheight), spc=int(.3*bheight), text_color=$ffffff)
")
middle=stackvertical(top,box,bottom)
stackhorizontal(left,middle,right)
}
emcodem, wrapping since 2009 you got the rhyme?
Re: Timecode from 23:59:59:24 to 00:00:00:00
I will try this, thanks!