justdan96 / tsMuxer

tsMuxer is a transport stream muxer for remuxing/muxing elementary streams, EVO/VOB/MPG, MKV/MKA, MP4/MOV, TS, M2TS to TS to M2TS. Supported video codecs H.264/AVC, H.265/HEVC, VC-1, MPEG2. Supported audio codecs AAC, AC3 / E-AC3(DD+), DTS/ DTS-HD.
Apache License 2.0
849 stars 144 forks source link

Can't seek video in Blu-Ray folder-based mux #646

Closed FRtranslator closed 1 year ago

FRtranslator commented 1 year ago

I have a h264 mp4, which I mix with audio track(s). I choose to generate a Blu-Ray folder. Mix finishes successfully.

However, I can't seek in the video with all the software Blu-Ray players I have test with (PowerDVD Ultra, VLC, Blu-Ray Player Pro (Mac)): picture freezes as soon I click anywhere on the timeline (on PDVD, and Blu-Ray Player Pro), VLC restarts at the beginning of the video.

When I start the generated 0000.m2ts file, I have no issue at all.

It used to work in with an old build of tsMuxer (I can try to find it if you want), so it looks it has been broken at some point.

jcdr428 commented 1 year ago

@FRtranslator is it possible to have a link to download the output ?

FRtranslator commented 1 year ago

@jcdr428 You can download a sample right here: demo BD.zip

The video is only 15sec long, but that's enough to see the issue. The firsts 7 sec are black, this is normal.

Starting at the 7th second, try so seek at a later position, you'll see that the sound is OK but picture is frozen. On VLC: it will restart at the beginning if you use the File > Open Disc menu. If you load the m2ts file, it will work fine.

I hope this helps.

FRtranslator commented 1 year ago

@jcdr428 I've found a version that I kept where the issue didn't exist: git-2aa293b, built on June 20th, 2021. It failed on a version built on February 27th, 2022. I didn't test in the meantime.

I also found differences in the generated CPLI files (I used BDEdit to find them). I attach both success and failed files here. They come from the exact same video. cpli.zip

jcdr428 commented 1 year ago

@FRtranslator can you please test with today's release.

FRtranslator commented 1 year ago

@jcdr428 You fixed the issue, partially... because you introduced another one: VLC can't open the generated Blu-Ray folder anymore. Here is the detailed log of VLC when trying to open the disc/folder: vlc2.txt

However, PowerDVD is happy and plays the disc just fine, and seeking is woking.

So, there is a little bit more work to do ;)

FRtranslator commented 1 year ago

Hmm... I will also investigate more on my side, because it seems that I can't reproduce this issue with other video files. However, I know that I used the same video file as before, which, at least, could be played on VLC 2.x and 3.x.

Feel free to ask more infos if needed. I'll keep you updated. Please do the same.

jcdr428 commented 1 year ago

@FRtranslator can you please share the failing tsMuxer output ?

FRtranslator commented 1 year ago

@jcdr428 I'm starting to get some headaches here... It looks like VLC 2 and 3 don't like to play Blu-Rays (folders?) that have a video of 1 minute or less. 1m01s is OK. Same goes if you cut the video at 1m00s. Really wired. This is regardless of the version of tsMuxer. The video I've tested with this morning was only 0m44s. No idea why it happens, it could still be a tsMuxer bug, it could also depend of the source and type of video. PowerDVD plays this generated Blu-Ray folder just fine, and seek is OK.

Here are the tests I've maid with different versions of tsMuxer. Each ZIP file has 3 tests of the same video, with different versions (you'll have the full BDMV folder, except the video itself): version a10bea3 is the latest one version 2aa293b is a known good one version 2f0fdbf is a known bad one

This is the 0m44s one, a m2ts file directly copied from a BD: m2ts demo.zip

This is an extract of a commercial Blu-Ray made with tsMuxer a long time ago: m2ts video extract.zip

This is an MP4 video with AAC audio: mp4+aac test.zip

I hope you don't need the videos ;)

jcdr428 commented 1 year ago

@FRtranslator I can't really find the flaw. It would help a lot if you can point me out on the latest working release.

FRtranslator commented 1 year ago

@jcdr428 I feared you asked that ;) I just tried to build a BD Folder with this 0m44s video with the latest official, non-open-source tsMuxer 2.6.x, and it fails to play on VLC too. So, when trying to test your latest build, I used a different video as before (because it was faster for me), and found a bug on VLC or tsMuxer.


I need to do more tests: I generated the BD Folder with the same video on the Mac version of tsMuxer, and VLC macOS plays it! For now, it plays on Mac, not on PC. I will cross-test all possibilities and I'll get back to you.

FRtranslator commented 1 year ago

@jcdr428 I think I found the culprit: it is option "Do not play Blu-Ray menu" in VLC that triggers the error. If checked, it fails. If not, no issue. I don't know why there is a a different behavior when the video is more or less than a minute, but I don't think it is a tsMuxer issue. I think issue can be closed now. I'll reopen it if I find something new.

ronny332 commented 1 year ago

insertSEI, contSPS, are missing from the meta file.