-
Notifications
You must be signed in to change notification settings - Fork 17
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
Play on native player breaks in replay mode after restarting the loop #25
Comments
I thought I had fixed that, give me a minute. |
I did it that way intentionally and it really doesn't make sense to continue for live.
|
Hi Adrian. Thanks for your responses. I didn´t ask for "continue" "-c" feature. It was another person.
True. I simplified in my message. The thing is that PTS breaks its sequence, so a discontinuity must be signaled in the playlist. that was my point
No as fas as I know. Just was describing the process at a whole.
Agree. As I say above, I didn´t ask for that feature. The only thing I was asking is that replay feature works and is playable.
Sorry but I don´t understand why you ask me this. My understanding of what the "replay" feature was (maybe am I wrong? ) is that I can take one input file, and the tool is able to generate a continuous linear channel that plays indefinitely. In the open issue, what it "fails" from that description is that playlist restarts loosing the previous segments making the player to stop playing. |
You said you tested 0 -7 seconds, that's why I asked about zero. I actually came up with a decent way to do it. Here's what I'm doing,
Other than those two details it should be cool.
v0.2.03 has the update. Try it out and let me know. |
Oh. I see that I get you confused with my text. Sorry for that. I was testing with 6 seconds segments, having 8 segments with id 0 to id 7. My input video is 48.02 seconds long, so I have 8 segments with that time. I am trying the last version. I need to confirm one thing. Does m3ufu requires python 3.9 ? As I am having an exception in https://github.com/futzu/x9k3/blob/f8eac35117cf382831dce8fe74972337131aa877/x9k3.py#L162 because is using the removeprefix method in the constructor of a Segment, that it seems to be python 3.9 |
x9k3 v0.2.05 should fix the lag from the m3ufu throttling, you still want to fill the window though. What version of python are you using? I try to stay a few releases back from the newest release. I didn't realize removeprefix was 3.9, but 3.9 is reasonable, 3.12 is the latest. if you just flatly refuse to update python
self.relative_uri = media_uri.removeprefix(base_uri)
self.relative_uri = media_uri.replace(base_uri,'') I use pypy3, it's way faster. Check this out.
a@fu:~$ ls -alh msnbc.ts
-rw-r--r-- 1 a a 3.3G Oct 25 04:24 msnbc.ts
|
Thansk for the indications. Just wanted to know cause the m3ufu readme indicated 3.6+ I will try it later to confirm. thanks! |
you cool on this? |
I fixed the m3ufu remove prefix thing, update to the latest x9k3 0.2.09. |
grab v0.2.19, I think things are working a bit better. |
Confirm it works with v0.2.19. Now it plays correctly. Thank you!! |
As I mentioned on other issues, I open a new one clarifying the behavior I get when trying to use the tool to play on a native player (IOS 15) and the replay mode.
I have an input file that is an MPEG.TS generated with ffmpeg with the following characteristics:
I execute x9k3 with the following arguments:
x9k3 -i live.ts -o out -t 6 --replay -c
In a first pass, the playlist is generated correctly, segmenting the file and adding them into the playlist. The number of segments for this input file is 8 (with t=6 seconds, from 0 to 7). The throttling is working correctly. The playlist for the last segment is this:
After the duration of the input file has passed, the tool re-decode the input file to start over again for the replay functionality. Now, current segment will be 8. The generated playlist file is the following:
As you can see, all the previous segments are removed from the playlists, and only the new "first" segment is present in it. This breaks the play of this m3u8 in an HLS player (tested with hls.js and native player). This breaks the buffer status in the player. For this to work safely for players, the playlist for the segment #8 should be like this:
It should remove remove seg3.ts from the playlist, and should add a Discontinuity tag (as the PTS in the input file restart to 0 and the player needs to be aware of) and continue the live flow with the segment. This change has been tested to play correctly in hls.js and native IOS 15 player.
Hope it helps.
The text was updated successfully, but these errors were encountered: