Selur's Little Message Board

Full Version: "Real" PAL<>NTSC framerate conversion with speed changing?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4
(18.07.2018, 21:45)Selur Wrote: [ -> ]Yes, as soon as you mess with the frames you need to reencode and thus you need to choose an encoder.
For testing purposes use the following encoding settings:
  1. set 'Base->Processing->Video' to 'x264'
  2. set 'x264->Base->General Settings->Encoding mode' to 'constant rate factor (1-pass)'
  3. set 'x264->Base->Restriction Settings->Preset' to 'ultrafast' and press the 'Apply'-button next to it
configure the rest, create a job queue entry, start the job queue and look at the output.
Video quality and size are not the main concern atm., just check the whether the output is better/worse than the input 'triggers' you.

Also try method 1. just for comparision. (it's was faster since only the audio is reencoded)

Cu Selur

I've tried the first method. The result was kinda amusing. Going from 29.97 fps to 25 fps makes the audio being so stretched that the video becomes unwatchable. If I keep the original pitch, you can still hear that it's slowed down, as sound can get a bit glitchy, if you get what I mean. If I don't keep the original pitch, it will be so low that it's.. eh, yea, strange. Either way, the talking is very slow, and I think a lot of people couldn't watch it. In any case, it was a nice method to try. Smile

As to that second method, I'm afraid I did something wrong. The output seemed to have a little bit of quality loss and it was actually bigger in file size (500mb=>750mb). Nothing changed to the framerate tho'. It was still 29.97 fps.
Sorry, really busy this week, but something must have gone wrong with method 2, which should work fine.
Selur Wrote:set 'Base->Processing->Video' to 'x264'
set 'x264->Base->General Settings->Encoding mode' to 'constant rate factor (1-pass)'
set 'x264->Base->Restriction Settings->Preset' to 'ultrafast' and press the 'Apply'-button next to it

(17.07.2018, 05:25)Selur Wrote: [ -> ]
  • load source
  • With video encoding:
    • set 'Base->Processing->Video' to 'the encoder of your choice' (configure the encoder in the corresponding tab)
    • enable 'Filtering->Speed Change->Change Speed'
    • set 'Filtering->Speed Change->Change Speed' to '23.976 fps'
  • Without video encoding:
    • set 'Base->Processing'->Video to 'passthrough'
    • enable 'Muxing->Overwrite->Frame rate'
    • set 'Muxing->Overwrite->Frame rate' to '23.976'
  • set 'Base->Processing->Audio' to 'custom'
  • enable 'Audio->Base->Audio Encoding Options'
  • configure your target format inside the 'Audio->Base->Audio Encoding Options->Encoder'-tab
  • enable 'Audio->Base->Audio Encoding Options->Filtering->Speed change'
  • set 'Audio->Base->Audio Encoding Options->Filtering->Speed change' to 'from 25.000 to 23.976' and depending on your liking enable 'adjust pitch'
  • add the current audio settings for the current audio track to the AudioQueue (Audio->Base->Add current)
  • set output file (Base->Output file)
  • add current settings to the job queue (Base->Add to queue)
  • start the job queue (Jobs->Queue->start)

So, these are the steps I did. I ended up with a video that was 30 minutes long instead of 24 minutes. The framerate is 23.976 now, so at least that worked now. I think no frames were deleted but instead, all original frames were stretched over a longer video because of the smaller framerate.

There was also no audio either, but I got that part fixed by changing "Base->Processing->Audio' to 'ignore'" to "Base->Processing->Audio' to 'passthrough all'".
Happy that worked out for you.

Cu Selur
(21.08.2018, 21:27)Selur Wrote: [ -> ]Happy that worked out for you.

Cu Selur

Ohh, so you don't know how to fix the thing with the video?  Undecided
Btw. the step-by-step should still be correct, in case your didn't skip any part (or change the order) the 'add the current audio settings for the current audio track to the Audio-Queue (Audio->Base->Add current)'-step should make sure you got audio,...

What thing with the video?
I mean if you keep all frames and increase the length each frame is shown the playback length increases.
If you keep all frames and reduce the length each frame is shown the playback length decreases.
Since:
'play length in seconds' = 'frame count' / 'frames per second'
which is the same as
'play length in seconds' = 'frame count' * 'length each frame is shown'
that is the logical impact that happen if you do PAL<>NTSC conversions via speed change.

Assuming the frame count is the same, when:
- you increase the speed the playback length should decrease
and
- if you decrease the playback speed the playback length your increase.
So when you go from 25fps to 23,967fps and thus decrease the speed the playback length should increase by 25/23,976 = 1,042709376042709 which is nowhere near what you describe.

Only thing that confuses me is that it sounds like you reduced the playback speed and your playback length changed from 24min to 30 min, which would mean it increased by 30/24, so your original fps should have been 23,976*30/24 which is roughly 29,976 not 25, thus your video wouldn't be PAL, but NTSC and your are misusing the guide to do a slow down from 29,9 to 23,976.

Normally a PAL <> NTSC conversion is between 25 and 23,976 fps. You are doing a NTSC 29,97 to NTSC to 23,97 conversion,...

Using audio passthrough is the wrong move, audio needs to be reencoded since it's speed needs to be changed otherwise the output will be asynch, since the audio and video length to not match anymore.

Cu Selur
(22.08.2018, 05:45)Selur Wrote: [ -> ]Btw. the step-by-step should still be correct, in case your didn't skip any part (or change the order) the 'add the current audio settings for the current audio track to the Audio-Queue (Audio->Base->Add current)'-step should make sure you got audio,...

What thing with the video?
I mean if you keep all frames and increase the length each frame is shown the playback length increases.
If you keep all frames and reduce the length each frame is shown the playback length decreases.
Since:
'play length in seconds' = 'frame count' / 'frames per second'
which is the same as
'play length in seconds' = 'frame count' * 'length each frame is shown'
that is the logical impact that happen if you do PAL<>NTSC conversions via speed change.

Assuming the frame count is the same, when:
- you increase the speed the playback length should decrease
and
- if you decrease the playback speed the playback length your increase.
So when you go from 25fps to 23,967fps and thus decrease the speed the playback length should increase by 25/23,976 = 1,042709376042709 which is nowhere near what you describe.

Only thing that confuses me is that it sounds like you reduced the playback speed and your playback length changed from 24min to 30 min, which would mean it increased by 30/24, so your original fps should have been 23,976*30/24 which is roughly 29,976 not 25, thus your video wouldn't be PAL, but NTSC and your are misusing the guide to do a slow down from 29,9 to 23,976.

Normally a PAL <> NTSC conversion is between 25 and 23,976 fps. You are doing a NTSC 29,97 to NTSC to 23,97 conversion,...

Using audio passthrough is the wrong move, audio needs to be reencoded since it's speed needs to be changed otherwise the output will be asynch, since the audio and video length to not match anymore.

Cu Selur

I thought we were already done with PAL <> NTSC, because I followed your steps and got 23.976 <> 25 FPS conversions working. Smile

The other problem was the whole inverse telecine thing and getting 29.97 FPS (NTSC) videos converted to 23.976 FPS (NTSC), in order to speed them up to 25 FPS (PAL).

Sorry for the confusion.
NTSC telecined 29.7fps -> 25fps progressive PAL
You should also use an IVTC method as 'deinterlacer' and then adjust the video to 25fps. (audio needs to be adjusted from 23.976fps to 25fps).


Cu Selur
(23.08.2018, 16:29)Selur Wrote: [ -> ]NTSC telecined 29.7fps -> 25fps progressive PAL
You should also use an IVTC method as 'deinterlacer' and then adjust the video to 25fps. (audio needs to be adjusted from 23.976fps to 25fps).


Cu Selur

Mm. Is it possible to do this in Hybrid somehow?

Also, it's both 29.97 NTSC telecined => 23.976 and 29.97 NTSC telecined => 25 progressive PAL I'd like to achieve.
For IVTC (29.97->23.976):
Assuming your content is flagged properly Hybrid will select an appropriate value under: "Filtering->(De-)Interlace/Telecine/->Deinterlace/Telecine Settings->Deinterlacer"
Like either:
  • VIVTC (if Filtering->Support is set to Vapoursynth)
  • TIVTC (if Filtering->Support is set to Avisynth)
  • ivtc - filmdint (if Filtering->Support is set to No XSynth)
if your input isn't flagged properly you can enable "Filtering->(De-)Interlace/Telecine/->Deinterlace/Telecine Settings->Overwrite input scan type to' and set it to 'telecine'.
You can also manually set "Filtering->(De-)Interlace/Telecine/->Deinterlace/Telecine Settings->Deinterlacer" to the deinterlacer you want.

Side note: at the left bottom of the Filtering-Tab you can see the 'Output frame rate' and the 'Output frame count'.

If you want to do IVTC (29.97->23.976) and additionally a speed up like before simply add those settings. Smile

Cu Selur
Pages: 1 2 3 4