Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Usage
Register FAQ Calendar Today's Posts Search

Reply
 
Thread Tools Search this Thread Display Modes
Old 24th August 2012, 06:57   #1  |  Link
wiseant
Registered User
 
Join Date: May 2007
Posts: 146
using SelectEvery() to get desired fps

Hi

Couldn't find the answer after searching how to use SelectEvery() to yield a 29.970 fps interlaced output clip

I get these framerate changes:

ffvideosource("D:\23.976fps")
SeparateFields
SelectEvery(8, 0,1, 2,3,2, 5,4, 7,6,7)
Weave
#23.976 gives 29.970 fps - OK


ffvideosource("D:\24fps.mp4")
SeparateFields
SelectEvery(8, 0,1, 2,3,2, 5,4, 7,6,7)
Weave
#24 gives 30 fps -

is it OK to convert/change/assume fps of 30 to 29.970?


ffvideosource("D:\25fps.mp4")
#25 gives 31.250
SeparateFields
SelectEvery(8, 0,1, 2,3,2, 5,4, 7,6,7)
Weave
#25 gives 31.250 - not OK


What SelectEvery() will give me:

25 fps to 30.00 fps and ?29.970 fps

23.976 fps to ?30.00 fps

24 fps to ?29.970 fps
wiseant is offline   Reply With Quote
Old 24th August 2012, 10:58   #2  |  Link
ajk
Registered User
 
Join Date: Jan 2006
Location: Finland
Posts: 134
Generally you can AssumeFPS() those small changes like 24 vs 23.976 fps (use sync_audio = true as needed).
ajk is offline   Reply With Quote
Old 24th August 2012, 11:17   #3  |  Link
henryho_hk
Registered User
 
Join Date: Mar 2004
Posts: 889
Quote:
Originally Posted by ajk View Post
Generally you can AssumeFPS() those small changes like 24 vs 23.976 fps (use sync_audio = true as needed).
After assumefps(.... , sync_audio=true), remember to use resampleaudio(....) to restore the original sampling rate.
henryho_hk is offline   Reply With Quote
Old 24th August 2012, 11:19   #4  |  Link
Didée
Registered User
 
Join Date: Apr 2002
Location: Germany
Posts: 5,391
Quote:
Originally Posted by wiseant View Post
What SelectEvery() will give me:

25 fps to 30.00 fps and ?29.970 fps

23.976 fps to ?30.00 fps

24 fps to ?29.970 fps
The easiest way is to not use SelectEvery. You can simply let ChangeFPS() make the calculation for you.

Code:
changefps( XX * 2 ) # XX = your destination framerate
separatefields()
selectevery(4,0,3)
weave()
Though, that is for progressive input only. (For interlaced input you'd first bob, then use XX*1.)
__________________
- We´re at the beginning of the end of mankind´s childhood -

My little flickr gallery. (Yes indeed, I do have hobbies other than digital video!)
Didée is offline   Reply With Quote
Old 24th August 2012, 21:37   #5  |  Link
wiseant
Registered User
 
Join Date: May 2007
Posts: 146
Thanks

Now re

Quote:

Code:
changefps( XX * 2 ) # XX = your destination framerate
separatefields()
selectevery(4,0,3)
weave()
Though, that is for progressive input only. (For interlaced input you'd first bob, then use XX*1.)
Since changefps doesn't have a sync_audio = true, do I just use resampleaudio(48000) if I'm doing DVD?

This is with respect to a video joiner I am working on:
if any video is 29.970/30 fps, then video with 23.976/24/25 will be converted using the above CODE.

Now, if there are no 29.970/30fps clips, just 23.976/24/25 fps, what procedure to convert them to a common progressive fps that will preserve video/audio sync?
wiseant is offline   Reply With Quote
Old 25th August 2012, 01:05   #6  |  Link
Didée
Registered User
 
Join Date: Apr 2002
Location: Germany
Posts: 5,391
With the suggested code, there is no need to adjust audio sync. The video runtime stays exactly the same. (If the involved framerates require so, you get one additional dup field, or one duplicated field less, per each 1000 frames.)
__________________
- We´re at the beginning of the end of mankind´s childhood -

My little flickr gallery. (Yes indeed, I do have hobbies other than digital video!)

Last edited by Didée; 25th August 2012 at 01:07.
Didée is offline   Reply With Quote
Old 25th August 2012, 11:47   #7  |  Link
wiseant
Registered User
 
Join Date: May 2007
Posts: 146
Thanks Didée

works as you described

then i joined one of each: 23.976, 24, 25 fps using music videos, e.g.

Avisource("D:\join_1.avi").assumefps(24, sync_audio=true).resampleaudio(48000)

all audio/video in sync

one last question:
I want to convert 1280x720p [maybe 1920x1080p] 50/60 fps to 1920x1080i 25/30 fps "canvas"
using x264 --fake interlaced to encode [for BD]
this is for motion menu thumbnails: max/min resolution 384x216 / 192x108; max/min frames 30 / 1 [no audio]; max/min amount 12/2

How would you go about resizing and changing framerate[s] ?
wiseant is offline   Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 03:38.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.