tarkah / lazystream

Easily get LazyMan stream links, output directly or to m3u / xmltv formats. Streams can also be recorded or casted.
106 stars 16 forks source link

Ability to start stream at certain time #13

Closed fartyg closed 4 years ago

fartyg commented 4 years ago

Hey there, thank you for your work on this program. Works great and I use it often.

One thing I feel is missing is being able to start a VOD (or stream) at a certain time. Sometimes my internet connection goes down and there is no option within Lazystream to start where it left off. The seek in vlc does not seem to work either. Not being able to fast forward can make it so you have to actually watch through hours of what you've already seen.

One thing that does work is opening the url with streamlink and at the end pass: --hls-start-offset 90m

This method is maybe not so precise and you have to estimate where you were, but it gives an option to actual find your way back in the stream.

Interested to hear if this has been an issue for anyone else and if there is a better solution.

tarkah commented 4 years ago

Thanks for the idea! I can definitely add this.

I can also add the --player-passthrough hls option, which passes the stream directly to VLC. So seeking works. The only issue is VLC doesn't bypass SSL Cert verification, which causes issue for some people. VLC should prompt you to allow the invalid certificate for 24 hours or permanently and it'll work. For me it does. But some people have had issue with that.

I may not have time to add this until early next week, but I might be able to squeeze it in today.

tarkah commented 4 years ago

I've added these two options:

Example of -h with these options added. I'll merge into master and create a release here shortly.

lazystream-play-select 1.8.0
Select a game from the command line to play in VLC

USAGE:
    lazystream play select [--restart --proxy <PROXY> --passthrough] [OPTIONS]

FLAGS:
    -h, --help           Prints help information
        --passthrough    Pass stream directly to VLC, this allows playback seeking
        --restart        If live, restart the stream from the beginning
    -V, --version        Prints version information

OPTIONS:
        --cdn <cdn>              Specify which CDN to use: 'akc' or 'l3c' [default: akc]
        --date <YYYYMMDD>        Specify what date to use for games, defaults to today
        --offset <[HH:]MM:SS>    Amount of time to skip from the beginning of the stream. For live streams, this is a
                                 negative offset from the end of the stream (rewind)
        --proxy <proxy>          Proxy server address to be passed to Streamlink
        --quality <quality>      Specify a quality to use, otherwise stream will be adaptive. Doesn't currently affect
                                 recording
tarkah commented 4 years ago

This has been released:

https://github.com/tarkah/lazystream/releases/tag/v1.8.1

Let me know if this works!

fartyg commented 4 years ago

Damn you are fast. Can confirm that offset option is working as intended! Thanks!

Passthrough is not working for me but that is not a Lazystream issue. It is that same issue where VLC (or gnutls) is not able to accept the certificate:

[00007f71581fcda0] gnutls tls client error: Certificate verification failure: The certificate is NOT trusted. The name in the certificate does not match the expected.

Have you set any specific options in VLC related to gnutls/certificates to have it working? I have gotten the popup window asking if I wanted to accept the certificate a few times, but same issue even after pressing yes. Also tried reinstalling VLC with all optional dependencies but same thing. I guess this is related to the needed changes one has to make in /etc/hosts, because I can open other https streams directly in VLC.

tarkah commented 4 years ago

Awesome!

Yeah, I'm not sure why VLC doesn't work for some people, even after accepting the pop-up. I haven't done anything special and there doesn't appear to be any settings related to it, yet I've had no issue with it. Yeah, it's due to the fact the ssl cert that the LazyMan hosted key server hands out is invalid.