Cigaras / IPTV.bundle

Plex plug-in that plays live streams (like IPTV) from a M3U playlist
https://forums.plex.tv/discussion/83083
GNU General Public License v3.0
974 stars 290 forks source link

2 hour limit #196

Open xchemical opened 6 years ago

xchemical commented 6 years ago

Is there a way to remove the 2 hour limit when you are watching a stream. Once it hit 2 hour it just kicks you off and you have to go back in every time.

Cigaras commented 6 years ago

I might be wrong, but I think You have to buy a Plex Pass.

xchemical commented 6 years ago

What I'm talking about if the 2 hour playback when it reach the 2 hour the stream stops. I don't mean it kicks you off plex, but the stream and you have to restart the stream.

penfolduk commented 6 years ago

your source may have set a time limit i can on my panel, bandwidth cost money

xchemical commented 6 years ago

There are no limit on the stream as I can just let it run all day on the computer. When you start to watch something the playback timer is 0:00 / 2:00:00 and when it hit 2:00:00 / 2:00:00 the thing stop.

jo789 commented 6 years ago

this has nothing to to with plex pass. 2 hours is the standard time for the plex transcoder when it doesn't know the duration of the source video. which is normal for a live stream. you can find it in the advanced settings of the transcoder : Plex Transcoder The problem is for Android clients that they changed something in their Exoplayer. Since app version 6.16 the player HAS to know the resolution of the provided video file/ live stream. As this plugin does not pass this information to the player it decides to transcode the video --> [TranscodeSession] Resolution: -1x-1 and it gives the information: failed to direct play because it can't play the videoresolution -1x-1.

I manged to fix this for me by editing the init.py file in the code directory:

            MediaObject(
                parts = [
                    PartObject(
                        key = HTTPLiveStreamURL(Callback(PlayVideo, url = url, c_user_agent = c_user_agent))
                    )
                ],
                audio_codec = c_audio_codec if c_audio_codec else None,
                video_codec = c_video_codec if c_video_codec else None,
                container = c_container if c_container else None,
                protocol = c_protocol if c_protocol else None,
                video_resolution = '720',
                height = 720,
                width = 1280,
                audio_channels = 2,
                optimized_for_streaming = optimized_for_streaming

So i just define video resolution, height, and width of the input file. Inside the app the mediainfo tells "720p h264 AAC 2.0". I tested it and now everything direct plays like in Android version 6.15. Setting the resolution seems to have no effect on live stream with higher (1080p) or a lower (SD) resolution or even adaptive streaming, as it direct plays these streams aswell. @Cigaras so maybe there is a way to define video resolution, height and width of the livestream through the m3u-playlist ? just like adding advanced attributes for 'video_codec', 'audio_codec' etc. ?