Hi. First of all, my knowledge on video conversions is close to zero...
So, I want to combine two different files in a way that I will use the video from one file and the audio from the other. My problem is that one of them is 1:39:30 @24000/1001 FPS while the other is 1:35:24 @25 FPS
Using the framecalc in this page, indeed converting the FPS of one of them to the FPS of the other, will make the durations equal...
[Attachment 52459 - Click to enlarge]
However, I used Handbrake and also ffmpeg (with the help of this thread on StackExchange) and while the FPS indeed change in the produced video, the duration remains the same.
As I said, I'm in no way a video expert, but it makes sense that "squeezing" more frames per second, going from 23.976 FPS to 25 FPS (of course keeping the frames number the same), should produce a shorter video file. But in my case, going from 23.976 to 25 FPS doesn't shorten the duration. Likewise, doing the opposite action with the other file, the produced video wasn't longer either.
What am I doing wrong?
+ Reply to Thread
Results 1 to 5 of 5
I think I solved it. A bit indirectly and not in the most proper way I assume, but I'm happy at least it worked, as I was struggling the whole day to make it happen.
So I used MKVToolNix, and added both files, then unchecked the contents I didn't want to use in the final .mkv file. The trick was to manually set the option Default duration / FPS of the video file to 25 FPS (originally the video was 23.976 FPS). The produced file had the correct duration (the one of the audio - 1:35:24) and of course everything was in sync.
[Attachment 52462 - Click to enlarge]
As I said this worked like a charm, but I'm still curious to learn the proper way of re-encoding the video file to the desired 25 FPS, if anyone cares to help! TIA.
Why would you want to change the video framerate when it's correct to begin with? Me, I'd change the audio length. I usually use BeSweet for the purpose as it has a 25->23.976fps preset. But eac3to can do the job also, as well as any WAV editor, ones such as Audacity.
Then reencode with whatever you like. Some programs might require that the video be muxed with the corrected audio first. I don't use anything you mentioned.
When NTSC audio is sped up for PAL it's rarely pitch corrected, so if you slow PAL down to NTSC again without pitch correction, you end up with the original pitch. If a PAL source was recorded/filmed at 25fps then it's okay to pitch correct of you slow it down to NTSC speed, but in this case it sounds like the audio was originally 23.976fps and sped up for PAL version.
As far as I know Handbrake only changes the frame rate by adding or dropping frames, keeping the original duration. There's no way to simply speed the frame rate up or slow it down. It probably has no PAL speedup or slowdown options for audio either.
It easy using Aviisynth.
AssumePFS() changes the frame rate but not the frame count. ChangeFPS() changes the frame count using frame blending, keeping the original duration, and ConvertFPS() simply adds or drops frames, keeping the original duration.