Log in

View Full Version : Problem with detelecine of old b/w movie


citroenfan
31st March 2019, 10:48
Hello,

I would like to detelecine an old b/w movie in public domain (with Stan Laurel and Oliver Hardy, movie title is "Why girls love sailors"). It's from NTSC DVD, but as it have title card written in French, I suspect it's origin is in PAL format, but somehow gets converted into NTSC.

I would like to have it in proper speed for viewing, without duplicated frames, blended frames or stutter, whenever it is 23.976, 25,29.97 or some other fps.

Tried to restore it with standard detelecine patern and with Srestore in few variants, but did not manage to resolve this problem. Tried to find solution here in forum but did not suceed.

Enclosed is 1min link to it (both links are the same file.)

Mediafire:

https://www.mediafire.com/file/ehhwsbi2qlv90w4/test_1927-07-17_Why_Girls_Love_Sailors.mpg/file


Mega

https://mega.nz/#!gw5BDCpI!Duc_Zu1Bbb4Th-tausRr7tHVSBf4aknVTQUEO5B4iRY


Please help me to resolve this problem.
Thank you very much.
Best regards

Frank62
31st March 2019, 12:46
Looks as if they added dup frames after pulldown, because every dup I found is progressive. Remove the dups somehow and then use TFM/TDECIMATE.

LemMotlow
1st April 2019, 03:55
Silent films were shot at all kinds of crazy speeds from 10 to 20 fps. Your sample looks as if someone first added duplicate frames to get 23.976 fps, then added 2:3 pulldown. So I'd get the pulldown first, then the dupes. Worth a try, anyway.

This gave me 10fps:

MPEG2Source("D:\forum\test 1927-07-17 Why Girls Love Sailors.d2v")
AssumeTFF()
TFM(order=1).TDecimate()
sRestore()

johnmeyer
1st April 2019, 07:36
I don't think SRestore is the right tool for this because it was designed for a very different problem.

This is a very simple albeit nonstandard, inverse telecine decimation problem that is easily handled with TDecimate. There are several ways to do this, but the simplest is to do a separatefields() or bob(0.0,1.0) and then count something like 100 fields. While counting, keep track of how many of these show temporal motion (i.e., something other than bobbing up and down). The number of total frames and the number that you need to remove in order to get only unique frames get fed to the Cycle and CycleR parameters of TDecimate. The disadvantage of using a big cycle number is that TDecimate bogs down. However, unless you are doing a lot of these, the slower performance is a small price to pay.

Since this isn't my project, I didn't spend much time on it so you may still have to tweak the cycle numbers, but this three line script is very, very close to what you need:

tfm(display=false)
tdecimate(cycleR=21,cycle=80)
assumefps(13)

The reason for using a really high Cycle parameter is to give TDecimate a chance to sort out irregular patterns. Most of these films usually average out over time.

There is a more complicated way to do it, using some of the advanced TDecimate parameters, but this has the advantage of being simple to understand and implement. The result when using this on your sample looks pretty good.

13 fps may seem slow, but a lot of hand-cranked silent films were well below 15 fps, so this is not surprising.

You'll have to reconnect the audio after you've done this.

manono
1st April 2019, 08:16
I get 21.978fps.

TFM().TDecimate(Cycle=30,CycleR=8)

LemMotlow
1st April 2019, 13:54
Thanks to johnmeyer and manono. I figured that some configuration of TDecimate would do the trick rather than sRestore, but those dupes are tough to see mixed in with pulldown frames. I have some silent film videos recorded off TCM that I'll re-visit to see how it was done. Notably The Big Parade from 1925 seems to have changing frame rate patterns that are very tricky.

Ghitulescu
1st April 2019, 16:01
I would like to detelecine an old b/w movie in public domain (with Stan Laurel and Oliver Hardy, movie title is "Why girls love sailors"). It's from NTSC DVD, but as it have title card written in French, I suspect it's origin is in PAL format, but somehow gets converted into NTSC.

The source is positive film (16mm) coming from a local version, since the only existing copy was found in France.

I suggest you find a DVD copy of it, since uploading to YT would do the frame rate conversion the way YT knows. I don't remember whether the copy was in 24fps or in any of consumer rates of 18fps or 16 (because it is not known whether it was originally shot at the same speeds or even 20, like any silent old movie).

I'll check my PAL copy (from Kinowelt DVD) to see whether the movie has been "PAL-SpedUp". I might also have the NTSC version (the "Lost Movies" series), too. Both on DVD, of course.

johnmeyer
1st April 2019, 16:37
The only tricky thing about silent film that has been telecined is that sometimes the pattern is changed to compensate for the difference in how fast the camera was cranked. Remember, many really old silent films, including some amateur silent films from the 1930s, after sound was added to commercial movies, were hand-cranked. As a result, the frame rate can be anything, and can speed up and slow down, depending on how consistently the operator cranked the camera.

So, when recovering telecined silent film, you initially should forget about frame rates. They mean nothing. Instead, concentrate only on recovering the initial film frames, without leaving any duplicate fields or frames. Also, always separate the fields when analyzing the film because proper telecine is usually done by repeating fields, not frames. That is not true of this particular movie, but it usually is. Then, do what I recommended in the previous post, remembering that after separating into fields, you are looking at fields, not frames. TFM/TDeicmate will take care of matching and recombining fields so you end up with progressive frames after the fields are recombined by this marvelous tool.

Then, and only then, after you have eliminated all the duplicate fields and have one frame of film for each frame of video, you get to make the decision on how fast to play back the result. You do this with AssumeFPS(). This choice is entirely up to you, and there is no right answer because, as already explained, there is no consistent film speed. Film speed standards didn't happen until the sound era. Your decision can be to try to duplicate what the original audience might have seen, or you can try to make the result show the motion at the speed at which it happened in real life, if you had been standing in the studio. I usually try to do the latter, because I don't have information on director intent.

Frank62
1st April 2019, 18:10
Also, always separate the fields when analyzing the film because proper telecine is usually done by repeating fields, not frames.

Yes, that's why I was a bit surprised that in this case full frames are repeated. Thus I thought it was better to first remove these and then IVTC. :)

johnmeyer
1st April 2019, 18:38
Yes, that's why I was a bit surprised that in this case full frames are repeated. Thus I thought it was better to first remove these and then IVTC. :)Inverse telecine ("IVTC") using TFM/TDecimate works whether the original telecine was done by repeating fields, or by repeating frames. Therefore, doing a separate process to first eliminate duplicate frames is not needed, and will probably cause problems because the duplicate pattern may be complicated, and may change, especially at scene boundaries, something the TFM/TDecimate takes care of for you.

So, forget about trying to decimate the frames on your own, and let the software do it for you.

citroenfan
1st April 2019, 18:38
Thank you, johnmeyer and manono, and of course all others, for participation in my thread, and for your suggestions. I will try your solutions and hope to solve the problem.

@johnmeyer - you are always willing to help and teach me and others about avisynth usage, I'm very grateful for this, ad find your post on this forum very inspiring and learn a lot (I hope :-)) from them.
I'm using your version of avisynth script for video restoration on many old movies and wish to tell you it is amazing and you helped me many times with it. I will try to find the best decimate patern based on your advices.

@manono - also wishing to thank you for all of your efforts to help our others with your knowledge, and also wish to thank you for your time and on you knowledge on all this.

@Ghitulescu - I see that you are fan of Stan & Ollie, also :-) Yes, I'm having both the NTSC version of "Lost movies of…" and PAL version of Universal 26DVD boxset and Dutch version (10DVD boxset) of boys collection (Dutch version is missing colored variants of movies, but DVD bitrates are much higher than Universal set so the picture quality is better) so I comparing which version have better picture quality for each movie)

best regards

Frank62
1st April 2019, 19:33
So, forget about trying to decimate the frames on your own, and let the software do it for you.

I wouldn't have recommended that, although I do IVTC by hand quite often - but not in this case.
What you say is - again - all true, but ignores the fact that there are quite constant repeated full-frames additionally to the normally repeated fields. This is no normal IVTC-case, and not ONLY because of the source being probably something (maybe also changing) between 16 and 18 fps.

I recommended to remove the frame-dupes - not by hand, but by the best dedupper or whatever (someone should know better than me, I have no experience in THIS), and then do a normal IVTC. This seems logical due to the fact of repeated full frames, because those are not the usual source. Of course, you can let align fields first with TFM, and then decimate all together - duped full frames and the new created ones, but this would complicate things for TDECIMATE, wouldn't it?

manono
1st April 2019, 19:52
Also, always separate the fields when analyzing the film because proper telecine is usually done by repeating fields, not frames
Yes, but by removing the telecine with a simple TFM, you're left with unique frames and duplicate frames. Counting fields unnecessarily complicates things. It can help in the case of field-blended garbage, but we don't have that here.
You do this with AssumeFPS(). This choice is entirely up to you, and there is no right answer because, as already explained, there is no consistent film speed.
You're implying the media companies putting out the DVDs don't care to have the DVDs play at the natural framerate. You suggested slowing it by roughly 40%, something we're not expected to do when just watching the DVD. It is NOT supposed to be played at 13fps. Had the sample been chosen more carefully, it would be easy to tell 13fps is way too slow. There are sometimes discussions of the correct speed of a silent film DVD, but nothing so extreme as the suggested 13fps. I expect that ~22fps is correct.
As a result, the frame rate can be anything, and can speed up and slow down, depending on how consistently the operator cranked the camera.
The 'crankers' were amazingly accurate in the consistancy of their cranking. In addition, the reels of film were usually accompanied by written instructions as to the intended framerate. If there was any changing of the cranking speed it might be the suggestion of speeding it up during the funny scenes as fast action was thought to be funnier. Also, the theater owners often had the films overcranked so the films would play shorter/faster and the films could be shown more times in a day, thus taking in more money.

manono
1st April 2019, 22:43
Of course, you can let align fields first with TFM, and then decimate all together - duped full frames and the new created ones, but this would complicate things for TDECIMATE, wouldn't it?
Not at all.

johnmeyer
2nd April 2019, 03:05
Two quick things:

1. TFM/TDecimate works just as well with duped frames as it does with duped fields. Try my code and see for yourself. Why do more work if you don't have to?

2. Same comment about playback speed. Try my script and see if the motion doesn't look like the right speed.

Given the countless posts in this and other similar forums about commercial DVDs that are screwed up in pretty fundamental ways, I never assume that they are done correctly. Criterion used to get everything right, but not so with other companies. I think the speed at 13 fps looks just about right.

Frank62
2nd April 2019, 09:56
Not at all.
Of course, wrong.


This place is wonderful for learning if you are new, and most people are very kind (thanks again for everything I learned by reading during the last 15 years or so).
If you try to give something back by trying to help it seems as if the "oldies" don't want to lose authority - ridiculous. A behaviour often seen in science, research, and a feeling like being in school. In this very nice environment I would have never expect something like this. Impossible to discuss or even help, so I go back to just read and learn - there is always much to learn.

:thanks: to Sir StainlessS who is a very kind exeption.

StainlessS
2nd April 2019, 15:18
Oh do be quiet, you'll embarrass me :)

johnmeyer
2nd April 2019, 15:44
... If you try to give something back by trying to help it seems as if the "oldies" don't want to lose authority - ridiculous. A behaviour often seen in science, research, and a feeling like being in school. In this very nice environment I would have never expect something like this. Impossible to discuss or even help, so I go back to just read and learn - there is always much to learn.If this is directed at me because I simply said that you don't need to do a separate step of removing duplicates prior to feeding the result to TFM/TDecimate, your conclusion is pretty harsh, and most definitely does not correctly interpret my tone.

I did not in any way deride what you said, and certainly am not trying to berate you. I was simply trying to provide a simpler way to get the job done, and avoid what is not only an unnecessary step, but one that can be done better with the remarkable TFM/TDecimate combination that is much better able to handle oddball telecine patterns.

manono
2nd April 2019, 19:33
If this is directed at me because I simply said that you don't need to do a separate step of removing duplicates prior to feeding the result to TFM/TDecimate, your conclusion is pretty harsh, and most definitely does not correctly interpret my tone.

Hehe, I think the remarks were directed at me. Or to everyone else but StainlessS.

johnmeyer
3rd April 2019, 01:45
Hehe, I think the remarks were directed at me. Or to everyone else but StainlessS.You?? I must have missed something.

Of course you are always causing problems. :)

I guess StainlessS gets off the hook because he's always buying everyone free drinks.

NervHQ
5th May 2021, 15:08
The thing is that the movie is too old for our highly developed technologies. So you have to download some old software that will run the film. I am a big fan of vintage movies because I like how life was in the '40s or '50s. Also, for me, it's fascinating to see the techniques they used for filming all this. Anyway, nowadays, it's more efficient to watch movies on platforms like Netflix. You don't have to install and download something for it. Anyway, a problem for me is that I can't find something good to watch. That's why I search for new movies on Netflix (https://flixboss.com) here.

StainlessS
5th May 2021, 17:47
I guess StainlessS gets off the hook because he's always buying everyone free drinks.

I dont mind buying anybody free drinks, and you can have as many as you like. :)

johnmeyer
7th May 2021, 02:18
I guess StainlessS gets off the hook because he's always buying everyone free drinks.I dont mind buying anybody free drinks, and you can have as many as you like. :)I posted that over two years ago (April 2019) and still haven't gotten a free drink. :sly:

Frank62
7th May 2021, 12:26
I fear I have to spend one (virtually).

StainlessS
7th May 2021, 19:29
I guess that you first have to find a venue that does free drinks, then you can put as many as you like on my tab.

johnmeyer
7th May 2021, 20:04
This reminds me of the sign on an old float boat we used to use:

Free Beer Tomorrow