-
-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
delay subtitles taking into account advertisements breaks #53
Conversation
I've noticed that the subtitle filename is displayed in the subtitle dialog, and I couldn't change it through the stream info. By saving it to disk, we might be able to name it Dutch.vtt or something and have Kodi parse the language correctly. |
Is the add-on profile folder the preferred location to save temp files? When do we clean this up? |
The add-on profile folder it the only folder an add-on may use to write files to. (https://kodi.wiki/view/Add-on_rules). Cleaning up is not taken care of yet, subtitles are edited every time a stream is requested, so we can clean up with Feel free to push your changes to this branch. |
Personally if we need to process and write these files, I would propose to either use a dedicated directory, or create our own For VRT we have this:
|
52b8533
to
fc82c47
Compare
fc82c47
to
dccc106
Compare
The currently used subtitles are now stored in Please test and review. |
I wish I could test, but it is not easy if you need a new Kodi and inputstream.adaptive, which are not available for ARM. |
I think testing on ARM is possible with the test builds: https://jenkins.kodi.tv/blue/organizations/jenkins/peak3d%2Finputstream.adaptive/detail/master/112/artifacts |
I don't think there are automated Linux arm builds... Is a new Kodi also required? I can test on Linux and windows |
No, you only need InputStream Adaptive with multiple periods support. Kodi 19 with IChapter support is nice to have, because periods play flawlessly from the first to the last second. |
So periods play flawlessly with just the Inputstream adaptive update, and ichapter is only for the GUI? Any idea where inputstream builds are made for arm? (I have osmc on a vero4k+) |
No, I mean that you can test this PR on Windows/Linux with only the InputStream Adaptive update from Jenkins. After a couple of seconds in a new Period everything should play fine. For ARM, there are no test builds yet that contain the latest commits from master branch: |
Okay, I was ready to give this a try, but now I notice that there aren't even normal linux binaries build for inputstream adaptive. Am I missing something? I've tested inpustream in the past, but I probably did this on my windows pc. @mediaminister I assume you use windows for your development and/or testing? |
I have tested this on Android. I could not find a newer Kodi build with IChapter support.
I haven't tried longer than 5 minutes, so did not experience period-switches except at the very start. Without an ARM build, I wouldn't be able to test this for a longer time than just some short tests. |
I also experienced this when seeking forward with the mouse pointer and I created an issue for this problem: xbmc/inputstream.adaptive#324 @michaelarnauts I use Linux and I compiled Kodi and InputStream Adaptive myself. To compile InputStream Adaptive add-on from master branch for Kodi Leia, this should work:
|
@mediaminister I did a few tests and subtitles are working fine! Awesome job! I'll merge this. We can always improve later on. |
Beware though. I would rather have inputstream.adaptive take care of this (if this is at all possible in a generic way). Because if this gets fixed in inputstream.adaptive our own fixes will no longer work. (And in fact by having this now added to VTM GO, it becomes less likely @peak3d can test a fix in inputstream.adaptive). So maybe we have to make this optional or configurable so a fix upstream is facilitated? |
@dagwieers It seems that the way vtm implemented this isn't according to any standards. They have a custom json that sets the breakpoints of periods. Their own (web)player injects the ads into the timeline without affecting the timeline of the original program. This is something that is a lot harder to do in kodi. I don't see how this could be done in inputstream. |
Ok, I remember @peak3d saying there was a subtitle in the manifest, so I assumed we were extracting it, changing it and providing it back to Kodi's ListItem. |
That's right, but I think that "embedded" subtitle was empty. If it weren't, it would probably just work, since it would be tied to the Period instead. |
VTM GO provides two subtitle formats: internal segmented WEBVTT in the MPEG-DASH manifest and an external WEBVTT url. The internal segmented WEBVTT in the MPEG-DASH manifest can be supported in InputStream Adaptive, but currently the implementation is incomplete or wrong. I don't know yet what the problem is and it will take more time to investigate what is needed to make WEBVTT subtitling work in InputStream Adaptive. I can confirm the internal segmented WEBVTT is not empty: https:/michaelarnauts/plugin.video.vtm.go/issues/51#issuecomment-529626570 Yes this is a quick fix, but it doesn't interfere with the subtitle stream in the MPEG-DASH manifest. When WEBVTT gets fixed in InputStream Adaptive the subtitle menu will just have two subtitle items and the user can select which one to use. |
Okay, thanks for the explanation! I assume when inputstream adaptive fully supports the subtitles in the periods, we can drop our own implementation, since it will just be the same result. |
@mediaminister Good to know. So we're not modifying the manifest either. (It is clear I didn't look to the specifics yet ;-)) |
No, we get the external subtitle url directly from the videoplayer-service.api json ( |
This is a very experimental fix for https:/michaelarnauts/plugin.video.vtm.go/issues/51
It works as follows: