Log in

View Full Version : Can I fix PAL playback speed without re-encoding video/audio?


mzso
1st February 2020, 10:22
Hi!

I was thinking maybe it was possible by manipulating framerates, timestamps and such with some software.

I guess it should be easy for video, because as far as I know framerate is just a number that is set for for how frequently the frames should be changed. (if the framerate is constant)
Not sure how it would work with audio compression. I guess the sampling rate is analogous, but the samples are surely not compressed separately by the codecs.

Is there anything for this?

I wouldn't mind if something existed for this on the playback side. But I don't see such particular features in the media players I use.

tebasuna51
1st February 2020, 11:57
Like you say the video framerate is a number than can be changed, for instance with the Header editor in MkvToolNix you can change it without recoding.

But changing the fps you change the video duration, you see the movements fast/slow than the real ones.

And not exist equivalence for change the audio duration without recode and preserve the pitch.
We can't modify the samplerate because there are some standards (32000, 44100,48000,...) than can't be changed.

The best option is play the movie at framerate filmed, moderns TV's accept PAL, film and NTSC standards: 23.976, 24, 25, 29.97, ...

Sharc
1st February 2020, 12:30
For .mp4 or .mov sources you may also try mp4fpsmod,
see the discussion here:

https://forum.doom9.org/showthread.php?p=1897790#post1897790

But again, audio needs to be resampled and reencoded in order to keep audio and video in sync.

nevcairiel
1st February 2020, 13:32
The best option is play the movie at framerate filmed

The reason people ask about this is of course because PAL broadcasts are often not at the framerate at how it was filmed, instead its a 24 fps movie/show which was speed-up to 25p for PAL, so the goal is to slow it back down to the original.

To the OP:
As was said above, you can slow down video easily, but the way audio is encoded that is not possible, since audio is a continous stream. And even if there was a metadata to allow it to be interpreted as a different sample rate, audio devices will accept 48000 Hz, but not 46150 Hz or whatever exact rate PAL slowdown would result in - hence you need to resample audio, and if you dont want to do it during playback, then you need to re-encode at least the audio.

huhn
1st February 2020, 15:17
you are looking for reclock.

mpdn has something like this too by just playing it back at a different sample speed and for some reason soundcards on windows usually are just fine with something like 46150 hz, it had no pitch correct if i remember correctly.

the is more i simply miss.

Motenai Yoda
1st February 2020, 20:18
mkv merge gui has an option to stretch audio too, but not all players works well with it.

mzso
1st February 2020, 22:24
Thanks for the info guys!

mkv merge gui has an option to stretch audio too, but not all players works well with it.

In the header editor? I was looking there, saw a framerate option for video, but I didn't find anything relevant in the audio section.

tebasuna51
2nd February 2020, 10:56
Nope, in Properties tab.

But I can't recommend that like the info say in the image.

My recomendation is extract the audio, modify and recode it with (examples for 25 -> 24 fps):

1) Recovering the original pitch:
eac3to AUDIO_INPUT -25.000 -changeTo24.000 AUDIO_OUTPUT

2) Preserving the actual pitch:

eac3to AUDIO_INPUT -stdout.wav -simple | soundstretch (https://www.surina.net/soundtouch/download.html) stdin 24.wav -tempo=-4.0