Closed UnknownCoder807 closed 9 months ago
麻烦你发给我对应的url
我的网络播放你提供的url很卡,很久才能播放一小段。我播放了很久了。没有出现你说的音频在播放但是视频画面被冻结的情况。
How long did you watch for? I just tried and it took around 1 minute to happen. I guess it's quicker when there is football on.
嗯,我是在tvos上的,我看了有十多分钟了。但是我的网络播放你这个url很卡,播放几秒就会卡很久。所以可能是因为这个原因所以无法复现你的这个问题。你可以用我的testflight。试下会不会有这个问题。我刚更新了testflight
嗯,我是在tvos上的,我看了有十多分钟了。但是我的网络播放你这个url很卡,播放几秒就会卡很久。所以可能是因为这个原因所以无法复现你的这个问题。你可以用我的testflight。试下会不会有这个问题。我刚更新了testflight
The stream plays fine when it is a recording. so it is not an encoding issue; it looks like it is more related to incoming data management. Because it would be difficult to
warning KSPlayer: MEPlayerItem.swift:131 MEPlayerItem | vt decoder cb: output image buffer is null: -12909
@kingslay
when I try to record the same stream using ffmpeg here is the error I get:
[h264 @ 00000280569b4000] non-existing PPS 0 referenced Last message repeated 1 times [h264 @ 00000280569b4000] decode_slice_header error [h264 @ 00000280569b4000] no frame! [h264 @ 00000280569b4000] non-existing PPS 0 referenced Last message repeated 1 times [h264 @ 00000280569b4000] decode_slice_header error [h264 @ 00000280569b4000] no frame! [h264 @ 00000280569b4000] non-existing PPS 0 referenced Last message repeated 1 times [h264 @ 00000280569b4000] decode_slice_header error [h264 @ 00000280569b4000] no frame! [h264 @ 00000280569b4000] non-existing PPS 0 referenced Last message repeated 1 times [h264 @ 00000280569b4000] decode_slice_header error [h264 @ 00000280569b4000] no frame! [h264 @ 00000280569b4000] non-existing PPS 0 referenced Last message repeated 1 times [h264 @ 00000280569b4000] decode_slice_header error [h264 @ 00000280569b4000] no frame! [h264 @ 00000280569b4000] non-existing PPS 0 referenced Last message repeated 1 times [h264 @ 00000280569b4000] decode_slice_header error [h264 @ 00000280569b4000] no frame! [h264 @ 00000280569b4000] non-existing PPS 0 referenced Last message repeated 1 times [h264 @ 00000280569b4000] decode_slice_header error [h264 @ 00000280569b4000] no frame! [h264 @ 00000280569b4000] non-existing PPS 0 referenced Last message repeated 1 times [h264 @ 00000280569b4000] decode_slice_header error [h264 @ 00000280569b4000] no frame! [h264 @ 00000280569b4000] non-existing PPS 0 referenced Last message repeated 1 times [h264 @ 00000280569b4000] decode_slice_header error [h264 @ 00000280569b4000] no frame! [h264 @ 00000280569b4000] non-existing PPS 0 referenced Last message repeated 1 times [h264 @ 00000280569b4000] decode_slice_header error [h264 @ 00000280569b4000] no frame! [h264 @ 00000280569b4000] non-existing PPS 0 referenced Last message repeated 1 times [h264 @ 00000280569b4000] decode_slice_header error [h264 @ 00000280569b4000] no frame! [h264 @ 00000280569b4000] non-existing PPS 0 referenced Last message repeated 1 times [h264 @ 00000280569b4000] decode_slice_header error [h264 @ 00000280569b4000] no frame! [h264 @ 00000280569b4000] non-existing PPS 0 referenced Last message repeated 1 times [h264 @ 00000280569b4000] decode_slice_header error [h264 @ 00000280569b4000] no frame! [h264 @ 00000280569b4000] non-existing PPS 0 referenced Last message repeated 1 times [h264 @ 00000280569b4000] decode_slice_header error [h264 @ 00000280569b4000] no frame! [h264 @ 00000280569b4000] non-existing PPS 0 referenced Last message repeated 1 times [h264 @ 00000280569b4000] decode_slice_header error [h264 @ 00000280569b4000] no frame! [h264 @ 00000280569b4000] non-existing SPS 0 referenced in buffering period Last message repeated 1 times [h264 @ 00000280569b4000] Increasing reorder buffer to 2 [h264 @ 00000280569b4000] Increasing reorder buffer to 3
Besides, looking at this error code, it seems that time to time, Ksplayer can't download/process the following frames.
warning KSPlayer: MEPlayerItem.swift:131 MEPlayerItem | vt decoder cb: output image buffer is null: -12909
error KSPlayer: MEPlayerItem.swift:131 MEPlayerItem | hardware accelerator failed to decode picture
warning KSPlayer: MEPlayerItem.swift:131 MEPlayerItem | vt decoder cb: output image buffer is null: -12909
error KSPlayer: MEPlayerItem.swift:131 MEPlayerItem | hardware accelerator failed to decode picture
warning KSPlayer: MEPlayerItem.swift:131 MEPlayerItem | vt decoder cb: output image buffer is null: -12909
error KSPlayer: MEPlayerItem.swift:131 MEPlayerItem | hardware accelerator failed to decode picture
In my humble opinion, the best way to encounter this issue is to use one of the best features of MPV, which is the following:
It would be great if the live stream player could have a feature to seek back to a previous part of the stream, and then resume watching the live stream by hitting the "fast forward button" (+10 circle).
MPV has a feature that allows it to download cached data from the server in advance so that there is no buffering freeze or playback malfunction. With this feature, you can watch the stream with only a 1-second delay from what the server is streaming.
https://github.com/kingslay/KSPlayer/assets/123307657/546f940b-48e1-4cfd-912c-6970958ced74
@kingslay you can see in this video that I can seek back a live stream and when I hit seek forward, the maximum allowed is -1 second.
@kingslay
Some of the main buffer settings are:
--cache=<yes|no|auto>: This option decides whether to use network cache settings or not. The default value is auto, which enables caching depending on the media source. You can also force caching on or off with yes or no values.
--cache-secs=
--demuxer-max-bytes=
--cache-pause=<yes|no>: This option decides whether to pause playback when the cache is too low. The default value is yes, which means playback will pause until enough data is cached. You can disable this option with no value.
--cache-pause-initial=<yes|no>: This option decides whether to pause playback initially until the cache is filled up to --cache-pause-wait seconds. The default value is no, which means playback will start immediately. You can enable this option with yes value.
--cache-pause-wait=
Something like the screenshot below can be made
@kingslay when I try to record the stream using ffmpeg, I noticed that the "downloaded time" is not updated as it should. a package of 10 seconds is downloaded every 10 seconds.
I did a test with 2 different streams
the first one is the link @UnknownCoder807 shared with you:
https://github.com/kingslay/KSPlayer/assets/123307657/c5009b26-e0bb-4538-9d59-a3ce6031b027
You can clearly see that ffmpeg download first the cached data from the server, and after data packages of 10 seconds are downloaded. I guess the “freeze” is due to the latency/delay of ffmpeg downloading the next data package
Here is another stream where the data is downloaded “normally”
https://github.com/kingslay/KSPlayer/assets/123307657/8a295cfe-5846-48ad-b73a-42516492e3a1
这两个流都是ts格式的吗?
这两个流都是ts格式的吗?
yes they are
@kingslay awesome work! Thank you. Fixed.
@UnknownCoder807 你试下 看还会不会有问题 如果没有问题的话 那你就把这个问题关了
Seems to be fixed, thanks @kingslay
Lots of my users are mentioning freezes in their live tv streams.
The stream plays ok for around 20 seconds and then the video will freeze but the audio continues.
These are the logs (they are truncated because they repeat hundreds of times)
I have a url that has this behaviour which I can send via email if you need.