Giter VIP home page Giter VIP logo

Comments (14)

kingslay avatar kingslay commented on June 12, 2024

麻烦你发给我对应的url

from ksplayer.

kingslay avatar kingslay commented on June 12, 2024

我的网络播放你提供的url很卡,很久才能播放一小段。我播放了很久了。没有出现你说的音频在播放但是视频画面被冻结的情况。

from ksplayer.

UnknownCoder807 avatar UnknownCoder807 commented on June 12, 2024

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.

from ksplayer.

kingslay avatar kingslay commented on June 12, 2024

嗯,我是在tvos上的,我看了有十多分钟了。但是我的网络播放你这个url很卡,播放几秒就会卡很久。所以可能是因为这个原因所以无法复现你的这个问题。你可以用我的testflight。试下会不会有这个问题。我刚更新了testflight

from ksplayer.

cdguy avatar cdguy commented on June 12, 2024

嗯,我是在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:

  1. 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).

  2. 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.

from ksplayer.

cdguy avatar cdguy commented on June 12, 2024
WhatsApp.Video.2023-12-25.saat.15.28.45_4c0364dd.mp4

@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.

from ksplayer.

cdguy avatar cdguy commented on June 12, 2024

@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=: This option sets the maximum amount of data to cache in seconds of playback. The default value is 3600, which means one hour of playback. This option is still limited by the --demuxer-max-bytes option.

  • --demuxer-max-bytes=: This option sets the maximum cache size in bytes. The default value is 150M, which means 150 megabytes. You can use suffixes like K, M, G, etc. to specify the size. For example, --demuxer-max-bytes=1G means one gigabyte.

  • --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=: This option sets the minimum amount of data to cache in seconds of playback before resuming playback after pausing. The default value is 1, which means one second of playback. This option is only effective if --cache-pause is enabled.

Something like the screenshot below can be made

WhatsApp Görsel 2023-12-25 saat 15 33 30_1acc551c

from ksplayer.

cdguy avatar cdguy commented on June 12, 2024

@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.
Ekran görüntüsü 2023-12-27 164826

from ksplayer.

cdguy avatar cdguy commented on June 12, 2024

I did a test with 2 different streams

the first one is the link @UnknownCoder807 shared with you:

384a9efc-b891-4ed0-86c8-e65410b38151.mp4

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”

4d06be43-b4fd-4c76-9159-03b583b359d2.mp4

from ksplayer.

kingslay avatar kingslay commented on June 12, 2024

这两个流都是ts格式的吗?

from ksplayer.

cdguy avatar cdguy commented on June 12, 2024

这两个流都是ts格式的吗?

yes they are

from ksplayer.

cdguy avatar cdguy commented on June 12, 2024

@kingslay awesome work! Thank you. Fixed.

from ksplayer.

kingslay avatar kingslay commented on June 12, 2024

@UnknownCoder807 你试下 看还会不会有问题 如果没有问题的话 那你就把这个问题关了

from ksplayer.

UnknownCoder807 avatar UnknownCoder807 commented on June 12, 2024

Seems to be fixed, thanks @kingslay

from ksplayer.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.