![]() ![]() ![]() Non drop frame SMPTE timecode counts all the frames and slowly goes out of sync with people-time because it's counting them at a slightly incorrect rate (assuming it's 23.976 or 29.97fps). It's people-time, but counting at the same incorrect rate as the non drop frame timecode immediately above it (24fps). and I'm already confusing myself thinking about this. It's not frames being dropped though, it's their timecodes. To keep it accurate in relation to human-time, SMPTE drop frame timecode counts frames at 30/24fps most of the time, but every now and then it only counts 29 or 23 frames in a second. Back when the frame rate was 30fps there was, naturally, a whole number of frames every second, but after the change to 29.97fps, the solution was to ignore the frame rate difference and keep counting at 30fps (or 24fps as the case may be). NTSC doesn't display a whole number of frames each second, so you can't count the frame numbers after "seconds" and have them "line up" for want of a better description. ie 13:54:04Īt the 20,000 frame mark, SMPTE would be about 0.2ms off. Is the "drop-frame" timecode the same as "Human time" then (other than the last frames are written in frames in stead of milliseconds)? It's 13 minutes, 54 seconds, plus four more frames.Ī colon means frame numbers at the end. However, 00:13:54:04 coming out as "drop-frame" timecode adds to my confusion, TBH. Thanks hello_hello for running the numbers. I'm sure TcCalc is a proper tool, but none of its options give me the time I'm after: 00:13:54:04.įor those of you that wanna check out the tool: There are more possibilities such as DF29.97, NDF30, PAL25 etc. There is also a "Film 24" window, which gives me the same result as the 23.98 window: 00:13:53:08. I probably don't fully understand the meaning of this 23TT mode too. It can (and probably will) be that this is the so-called "drop frame" timecode, but because I can't get my head around this dropframe thing (for now), I wouldn't know how to check if that's the case. Ok, in the TCCalc tool, when I put in 20000 at the frameswindow, the "23.98" window gives me 00:13:53:08. ![]() My numbers are confirmed by an online time-calculator. The conversion I do myself gives me a timecode (or should I say "running time") of 00:13:54:04, where the latter "04" is the last four frames. Okay, suppose I have a video that consists of 20000 frames. But this timecode I don't understand either.įor arguments sake, and as I am an example guy, I want to run the numbers with you guys with the following example, if you don't mind. This "TT" is supposed to be short for "True Time". Or just use the build-in rounding module of the calc app.Having read the article about the drop frame a couple of times, I am having trouble understanding it completely TBH.Īs said earlier, I probably misinterpret this "23.98" value. You can of course make the code shorter by removing the intermediate text files (sorry I'm used working like this).įor rounding down number to (multiple of) specified decimals with integer of full number as starting point, if multiplication factor is not a whole number, just take integer of multiplication factor * round_to_this. MULTIPLICATION_FACTOR_TOTAL_DONE=$( new_decimals.txt STEPS_LEFTOVER_DECIMALS_1=$( MPF_done.txt If [ "$1" != "$ 1' steps_leftover_decimals.txt > steps_leftover_decimals_1.txt I'm still looking for a pure bc answer to how to round just one value within a function, but here's a pure bash answer: #!/bin/bash This is why my script has an additional third parameter. But since we (unfortunately) have no built-in abs() function at our disposal (unless we code one), we will simply negate the argument if it's negative.īesides, it proved very cumbersome to work with the quotient as a parameter (since for my solution, I must be able to access the dividend and divisor separately). Mathematically spoken, we'll just compute the absolute value of the argument and still add 0.5 as we normally would. It is actually simple: there is no need to explicitly add a hardcoded "-0.5" variant for negative numbers. (( $(bc <<< "$vorig < 0") = 1 )) & r=$(bc <<< "$r * -1")Įcho "Insert the price you want to calculate:"Įcho & read -p "Press any key to continue." # have to add the minus sign again for the resulting value. however, since value was only negated to get correct rounding, we # the round function (alternate approach): # - inspired by user85321 (original author) # - loosely based on the function "round()", taken from ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |