Selur's Little Message Board

Full Version: Video have different time and audio desync after conversion
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
I'm trying to compress stream capture into smaller size file but have some troubles with it. After conversion from TS AVC to MP4 AV1 video time becomes shorter and at some point it's audio begin to desync. I assume it's because it's in a vaiable frame rate mode, while Hybrid mistakenly assumes that it's in 30 CFR, and i dunno how to change it or enforce vsync (i heard that it helps in such cases)
Streamed captures often have broken time codes, try enabling "Config->Automation->On Load->Always extract timecodes from input" (and disable 'only some').
Also, if there are any stream defects, Hybrid is not the right tool to use.
You can also try if it works to first use mkvtoolnix to remux the transport stream to mkv.
(mkvtoolnix has some workarounds that often helps with streams that have some header problems)
Assuming the new mkv plays fine feeding that to Hybrid might help.

Cu Selur
Tried with MKVToolNix and then convert - now time is the same, and info in general more correct, but audio is still desynced after conversion, and apparantly internally time still differend - video abrupts at some point. Which means problem still persists. What exactly i should do in MKVToolNix to make it work? And i heard it's possible to do this with FFmpeg, but i don't know how to use it
Is the mkv sync before conversion?
If yes, then share a debug output of Hybrids analysis. (read sticky)
If no, you can also try ffmpeg -i <path to input> -codec copy "<path to output.mkv>", but my guess is that this will also not work better than ffmpeg.
=> seems like you should fix your stream first by running it through tsdoctor or similar.

You could also try converting your file with some ffmpeg or handbrake gui, which process audio&video at the same time and try to handle 'broken' files. (depending on the tool you could convert to some lossless intermediate and feed that to Hybrid, assuming the intermediate is sync)

Cu Selur
(20.10.2023, 09:23)Lemenus Wrote: [ -> ]And i heard it's possible to do this with FFmpeg, but i don't know how to use it

usually on VFR clips i use Kdenlive (that is just an FFMPEG / MLT gui ), placing the VFR clip on the project bin make Kdenlive to request to "convert" to a "friendly" (not VFR)  format using FFMPEG...
Tried ts-doctor, ffmpeg, premiere - nothing helped
Assuming the output of those processing steps is still sync, then Hybrid simply can't deal with your source.
Hybrid does extract audio&video and the time stamps, reencode the streams, mux the streams, add the time stamps back in.
=> A ffmpeg or handbrake based gui might, which processes video&audio in parallel, might be better suited for your source.

Cu Selur
I tried HandBrake and Shutter Encoder, and it works which is cool so thank you. But now there's another problem, which is unrelated to Hybrid - after SE or HB video data describes original video framerate which is 50 fps, but it seems like 30-24 fps actually
Your source if vfr = variable frame rate, so if their output isn't vfr any more, they decoded to cfr and inserted duplicate frames.
How can i make framerate look same as source? Stream had some accasional dips in framerate, i expected that cfr will make duplicates only here, not for every frame
Pages: 1 2