Hi everybody
It's been a long time since I'm doing video- and audiostuff. But, I'm back at it again and - because of my positive experiences here in the past - glad to be here at the forums again. Before posting my questions, first this is what I (think I) know / or have learned. If something that I (think to) understand should be not correct or complete, please let me know.
On PAL dvd's there is this speedup when the source was 23.976 fps from film, right? (To be exactly, I learned that the exact framerate of film is the outcome of 24000 : 1001, which gives 23.976023976023976023 etc.) A consequence of these PAL dvd's is that audio is played back at not only faster speed, but also faster pace and higher pitch. Now, I want to reverse this speedup for some dvd's. (I simultaneously wonder what video-files or media I can best choose to create as going back to "NTSC" dvd format will suffer resolution-loss. Maybe a good time to start and learn how to best upscale and create 24p blu-ray?)
So, for sound, I think: I perform a timestretch to get audio back at it's original length, pitch and pace. I think the stretch-ratio should be: the outcome of 25 : (24000 : 1001) which gives 1.042708333333 etc. This number I read somewhere else on the internet. I tried "frameserving" (this term I don't fully understand yet) with Belight/Besweet but eventhough the length of the audio seemed the right amount longer, the pitch didn't fall back and audio quality is poor. I now use Adobe Audition on trial.
Now, for video, I am not sure I understand this frameserving thing. My guess is this: when I do a "frameserve" on a videostream from 25 to 23.976023976023976023, all a frameserver does is "telling" the videostream it should play THE SAME frames at another speed (by "flags" or what?). Because, I want to use the same frames (shot on the original film) right? But just to go back at it's original speed/fps.
Some questions:
Audio - Is this way of stretching the best thing to do? I am not sure, but on some occasions the audioresult seems not what it should be on reverbs and other stuff (just seems to sound not right). Is there other/better software than Adobe Audition you would advise?
Video - Since I am no command-line guy, but shure want to know what I'm doing exactly, what software would you give me in consideration for video frameserving? I strongly wish to learn about what frameserving exactly does. What would you advise me? In the Guides section it only gives how-to-frame serve with software, but not what this subject is really all about.
Some trivial interests - Is NTSC source exactly 30 or 29.97 fps? And, maybe, why? Has it something to do with the AC power frequency in the USA?
Can anybody tell me how this "24000 : 1001" framerate on film came to be? (Why not just 24?)
Again, if you have any advise, additional or corrective thoughts, I appreciate if you'd teach me. I just want to get the hang of all this.
Thanks in advance for your time
Ennio
+ Reply to Thread
Results 1 to 24 of 24
-
-
Originally Posted by Ennio
Video - Since I am no command-line guy, but shure want to know what I'm doing exactly, what software would you give me in consideration for video frameserving?
Is NTSC source exactly 30 or 29.97 fps? -
Wow, quick reply thanks manono.
As to the audio part: I always take the highest quality audiotrack available on the dvd and first convert it to PCM wav - if I didn't choose the pcm track already in the first place - and then do the stretch. I will again take a look into besweet and eac3to. My ears will tell me what's best though.
I will get into AviSynth and the DGMPGDec things.
Lots of work already. NiceThanx
Ennio -
Thanks johns0
Will try this out too. Curious what the sound quality will be though and what it does when the source is pcm wav or dts?
Lots of finding out to do
cheers
Ennio -
Originally Posted by Ennio
TFM Audio Tool just added pitch scaling but I've just downloaded it and haven't tried it out yet. -
Hi guys
A fast update.
Wow! This frameserving thang is something else. Have to get into avisynth but here is what I tried out to get 24p video from a telecined dvd...
For try-out, I loaded a small piece of extracted MPEG2 video (29.976 fps) from a dvd into DGMPGDec. In Video-->Field operation, I chose Forced Film. Saved the project. Now, as I understand correctly, this will take care of the inversion of Telecine (29.976 to 23.976) right?.
Created a simple AVS script as in the quick start guide and loaded it in VirtualDub. In Video--> Framerate, I chose Convert to fps: 24. Then saved as AVI. And indeed, GSpot tells me the AVI result was 24 fps. Only wonder why it doesn't say it's progressive? It's 24 fps?? I mean, isn't the inverse telecine thing in DGMPGDec taking care of bringing back the video fields to it's original - progressive - frames (no matter what the framerate for now?)
Question: This framerateconversion in VirtualDub will not re-encode the video, does it?
Is this a proper way to do it (regarding I have to get into Avisynth yet, because I have the feeling that this IVTC and framerate conversion can be in the avisynth script as well, so I can do all in one.)
But hey, for now, thanx to all who reacted. Will get into Avisynth further.
Cheers
Ennio
Edit: as for audio, I think it's no problem anymore now to stretch/frameserve (25 --> 24 or 23.976) sound. Have to still find out though what sounds the best. -
Originally Posted by Ennio
Created a simple AVS script as in the quick start guide and loaded it in VirtualDub. In Video--> Framerate, I chose Convert to fps: 24.
Once you have it at 23.976fps, why change it to 24fps? It's not as if you can tell the difference. If you insist on doing that, you can add ChangeFPS(24) to the script when reencoding which will change the framerate to 24fps by adding a duplicate frame every 40 seconds or so. The video will stay the same length and the audio won't have to be stretched. If you want to speed it up to 24fps, then add AssumeFPS(24) to the script, but then the audio also has to be speeded up.
I mean, isn't the inverse telecine thing in DGMPGDec taking care of bringing back the video fields to it's original - progressive - frames (no matter what the framerate for now?)
Question: This framerateconversion in VirtualDub will not re-encode the video, does it? -
Originally Posted by manono
If I insist in (okay, very slightly) speeding up from 23.976 tot 24 fps you say to add in Avisynth script: "ASSUME FPS(24)"
After that you say ........ When using an AviSynth script though, you have to reencode????
Isnt's this "ASSUME FPS(24)" in Avisynth a 23.976 to 24 framerserve then? (so, NO re-encodeing, just doing something with timeflags/stamps or whatever to just make play the video slightly faster, but with the SAME frames I already have?
I don't understand this
(By the way, I am doing my first steps into this blu-ray thang too. So I think that it is inevitable coming across converting film-source material to it's original 24p framerate, don't you think?)
As for Audio, I think I know what to do to stretch/compress the sound to the right framerate. I just choose to process audio and video separately for a: understanding what I am doing and b: for hearing quality on sound. To (probably certain) future problems with out-of-sync audio I will adress later. The first important thang for me is critically listening if the audio sounds right to me. So I prefer a good/as professional as I can get/pay audio editor to do that. Understanding frameserving teaches me what ratios I should use to stretch/compress audio (with or without tempo, pitch, pace and so on). But for now,
Thanx manono. Highly appreciate your thinking with me. Please get back on the AviSynth thang?
Cheers
Ennio -
Since you're converting from PAL to NTSC, you're reencoding, right? So you may as well make all the changes at once. In the script. When frameserving with the script you'll be reencoding. Yes, you can go back afterwards and change the framerate in VDub (if you encoded for AVI), but what's the point?
Isnt's this "ASSUME FPS(24)" in Avisynth a 23.976 to 24 framerserve then? -
Okay, let's get into this. How much am I re-encoding? How much do I want it? Well as few as possible, I say. Try not to touch the original source-frames if you can. Instead use them untouched as they are. Mmmm.
Here I am talking about a film-source PAL dvd. If the source is film, the original filmframes are in PAL, only at 25 framerate, right?
If I want to go from PAL to NTSC dvd I will have to re-encode the original frames for resolution properties anyhows, yes. But with the ORIGINAL frames as my source input to go from. The speedup I will adress to by frameserving.
Totally re-encoding from PAL to NTSC in general means to me: take the 25 frames per second, re-encode:
A: Into another resolution (inevitable for PAL --> NTSC dvd)
B: (I think by interpolation) In that same second, RE-ENCODING TO ANOTHER NUMBER (29.976) of TOTALLY NEW frames out of the 25 original frames. (Speed will thus be the same)
Am I right? I think, the more re-encoding you do, the more away from home you get. Step B is not necessary i.m.o.o. (and certainly not wanted, my guess)
So, converting film-source PAL dvd to NTSC dvd for me should only be about re-encoding (yes) the ORIGINAL frames to (the same number of) frames with just another resolution. The speed thang I wil resolve by frameserve (which is not about re-encoding, right? The source frames stay untouched)
So yes, I still have to re-encode the resolution to a minor one. Come to think of it: as (eventhough few) re-encoding is inevitable and me taking the first steps into blu-ray: is it not wiser then to upscale my original frames to a higher resolution with a good upscaler/re-encoder and create a (24p) blu-ray? I will not suffer resolution-loss as I not go down but up in it?
Mmmmm. Got to get into this
Originally Posted by manono
Again, manono, thanx for your replies.
Cheers
Ennio -
I just have to address a few things here.
24 fps to 23.976 fps is a slowdown, not a speedup. Also, it was done in the US to match up to the 29.97 fps of the new NTSC standard. The old standard was 30. It was slowed down from 30 to make room for color info. The PAL speedup you refer to is to match up a 24 fps movie to 25 fps PAL standard.
Darryl -
Originally Posted by dphirschler
I mean if you have a number of frames in video then logically a higher framerate will play faster than a lower framerate. Curious... or, am I missing something here?
Thanx
Ennio -
I messed up earlier. Ignore all that stuff about ForceFilm in DGIndex and speeding up from 23.976 to 24fps.
Originally Posted by Ennio
B: (I think by interpolation) In that same second, RE-ENCODING TO ANOTHER NUMBER (29.976) of TOTALLY NEW frames out of the 25 original frames. (Speed will thus be the same)
But with Avisynth I am fooling VirtualDub ain't I? Let it think my video is AVI?? I don't understand this..... -
I think perhaps you don't exactly understand the term "frameserve"
This statement describes frameserving in your own words, "???? But with Avisynth I am fooling VirtualDub ain't I? Let it think my video is AVI?? I don't understand this..... "
The speedup or slowdown is a simple framerate conversion.
You can do this by frameserving with Avisynth.
I do a pal to ntsc film conversion by frameserving to an mpeg2 encoder with a script like this:
AssumeFPS("NTSC_FILM", true)
ResampleAudio(48000)
LanczosResize(720, 480)
The AssumeFPS slows the pal from 25fps to 23.976fps, adding "true" also slows the audio to match the video.
So it's just a one step process for video/audio together.
To frameserve is not just about framerate conversion. -
Originally Posted by Ennio
-
Originally Posted by Gavino
Because I use the DGindex *.d2v file as source in my Avisynth script, Avisynth will "see" decoded video (as DGIndex "serves" it as decoded video, so to say?) Am I right with this thought? That's why it can do frameserve (by this "AssumeFPS("NTSC_FILM", true)" line), correct?
Cheers
Ennio -
-
OK I understand
Thanks for explaining Gavino
I think it's time now to spend time playing around with DGIndex and the basics of AVS.
What I don't understand is that in the manual of DGIndex it says it can create an AVS script automatically, but the (still few) times I saved my project, there was no AVS script outputted. How can I achieve this?
Thanks
Cheers
Ennio -
I just tried and couldn't make it work. You don't need it anyway as I think all it does (or all it's supposed to do) is fill in the path for the MPEG2Source line of a template .avs you've created yourself. It's not going to automatically create any sort of filter chain for you. Create your own templates for the different kinds of things you use the scripts for and fill in your own MPEG2Source line paths. I don't know of anyone that uses that feature. I'm sure it works but I couldn't figure out how to make it work, and you shouldn't need it anyway.
-
I think I figured it out manono
In the Quick Start Guide of DGIndex the thing to do is one time making a simple avs script that only has the decode.dll path and sourcepath. Mine looks like this:
LoadPlugin("D:\Software\DGMPGDec 1.5.7\DGDecode.dll")
MPEG2Source("myvob.d2v")
When you load a video in DGInex, go to Options --> AVS Template and "Change Template file". Browse to the manually made script you made, and when saving project in DGIndex it automatically generates this AVS script. So you can load it directly into eg. VirtualDub. I think it comes in handy if you are using a certain script many times, so you don't have to manually type it every time. The AVS script will have the right paths to decode.dll and *.d2v, my guess.
Now what I don't understand is this:
I took a part from a moviesourced NTSC dvd and saved my project two times: one time with "Honor Puldownflags" and one with "Forced Film".
Both automatically generated AVS scripts I loaded into VirtualDub and with Video --> Full processing mode I saved the AVI's.
In GSpot both AVI files are stated with codec "DIB (_RGB)" name "BI_RGB Raw Bitmap".
Now, in DGIndex's manual it says that served video is only converted from YUV to RGB when using "Forced Film", right?
In both *.d2v indexes I can see the line: "YUVRGB_Scale=1".
Must I think then that DGIndex ALWAYS will serve the (of course decoded) video with RGB output? (If so, I don't think I should mind, should I? Because RGB is uncompressed video-information opposite to YUV (which imho is compressed to digital component video) and thus better used as source)
Or: is Avisynth doing this? Or: is Virtualdub doing this?
EDIT: I think I have something. VirtualDub is doing this because I used "Full Processing mode"> I tried "Direct stream Copy" also and now the outputted AVI is stated with codec "YV12" name "IYUV w/ U & V switched". I understand know the difference in these settings in VirtualDub. But, it raises this question:
According to DGIndex's manual, when using "Forced Film" the served video will be decoded to RGB oputput to, right? Why then, when I use "Direct stream copy" in VirtualDub and output the AVI, the result will be an YUV coded AVI and not a RGB??? You know what I mean?
The difference in Field Operation is the line that makes the difference for decoding in 29.976 or 23.976 fps. It raises this question though: why is the "YUVRGB_Scale=1" line then in both d2v scripts? mmm...
And: I demuxed both *.m2v videostreams also. Now, in Gspot it says "MPEG2" codec. codec NOT INSTALLED???
But when I load the original VOB into GSPot, it says codec "MPEG2" and codec INSTALLED. Now what to think of that?Last edited by Ennio; 27th Jan 2010 at 11:13.
-
Why would you use Full processing? Part of the advantage of using an AviSynth script is that you can use Fast Recompress, although I understand if you're doing no filtering in VDub it doesn't get converted to RGB first.
Now, in DGIndex's manual it says that served video is only converted from YUV to RGB when using "Forced Film", right?
In GSpot both AVI files are stated with codec "DIB (_RGB)" name "BI_RGB Raw Bitmap".
why is the "YUVRGB_Scale=1" line then in both d2v scripts? mmm...
Why then, when I use "Direct stream copy" in VirtualDub and output the AVI, the result will be an YUV coded AVI and not a RGB???
I demuxed both *.m2v videostreams also. Now, in Gspot it says "MPEG2" codec. codec NOT INSTALLED??? -
A way of teaching myself is playing around with settings so I will fully understand what an action leads to. In this case I am learning about what different VDub settings will result to. I just want to learn to understand every step I take in any prog. It was my idea that when I output in RGB, which is uncompressed, the next program (eg. an encoder) will have uncompressed source, which to my feeling would be better. Is it actually??
I will have some VDub reading to do as I want to understand this “Fast Recompress” thang you’re talking about.
I read back and I oh man I was totally wrong. I had totally different understandings messed up. Sorry. Indeed I learn now, when frameserving with VFAPI, then RGB kicks in. I understand, reading the VFAPI text file, that is is a step outside of DGIndex (which is logical to me now: DGIndex is about decoding mpeg, not frameserving as I learn) and I will need the VFAPI software separately. This is clear to me now I think, thanks, but:
If I do want the 23.976 fps to be frameserved to 24 original film framerate (again, just for trying out now), why should I never do that with VFAPI? Does it give bad results? (I want to give it a try anyhows, just for understanding’s sake) Are there better ways? Want to learn about this too.
I think I understand the YUVRGB line in DGIndex file now. It’s about clipping color space or leaving in full range (pc scale, which is what we want of course?) This line has NOTHING to do with YUV to RGB decompressing then, only the color dynamics of the served video (be it YUV OR RGB), right?
Big thanks for staying in there with me, manono
Cheers
Ennio
Edit: Now I come to think of it: about the VFAPI thing:
Since VFAPI frameserve does not happen in DGIndex but separately (if I understand the VFAPI.txt correctly) why should there be this DGVfapi.vfp file in the folder where DGIndex.exe is?? Is it needed vor video preview or something? -
You have to understand, I went through my learning phase years ago and some things I do not because I discovered they were the better way to do things, but because better and more experienced people than I said they were better. I don't really see the need for you to reinvent the wheel just because you're learning something new. You can just follow the tried and true methods with the confidence that they are the correct way to do things. For example, when AviSynth became practical to use (meaning, for me, when the IVTCs became robust) I dropped frameserving with VFAPIs like a hot potato. Anything that forces an unnecessary colorspace change is to be avoided. Sometimes it can't be avoided (like when doing color correction), but when there are better and faster (much faster) ways to do things, use them. So, I'll avoid the VFAPI questions as being pointless and useless.
It was my idea that when I output in RGB, which is uncompressed, the next program (eg. an encoder) will have uncompressed source, which to my feeling would be better. Is it actually??
If I do want the 23.976 fps to be frameserved to 24 original film framerate (again, just for trying out now), why should I never do that with VFAPI?Last edited by manono; 29th Jan 2010 at 21:42.
Similar Threads
-
Reversing PAL speedup.
By rcavanah in forum EditingReplies: 3Last Post: 22nd Sep 2011, 13:26 -
Converting MKV (H264/DTS) + Speedup to 25fps for PS3 Playback > Help Needed
By flexx in forum Video ConversionReplies: 3Last Post: 17th Nov 2010, 06:28 -
Reversing a fade to black
By dave_van_damme in forum EditingReplies: 10Last Post: 12th Mar 2009, 21:15 -
compensating 4% PAL speedUp on playback of a dvd (Mac user)
By zep in forum Software PlayingReplies: 11Last Post: 18th Jan 2009, 23:43 -
PAL Speedup / 24th frame repeated questions
By ArtOfLosingMFZB in forum Newbie / General discussionsReplies: 6Last Post: 12th Oct 2008, 17:35