Giter VIP home page Giter VIP logo

iptv.example's Introduction

IPTV Client Example

Example of a custom configured IPTV Android app based on IPTV Core app.

About

Finctionality of this app is quite similar to IPTV app, but this app is easier to use for the end users because it doesn't require any complicated settings.

Features similar to IPTV:

  • M3U and XSPF playlists support
  • Grid or list view of TV channels
  • EPG support in JTV (zip) or XMLTV (xml, gz) formats

Differences with IPTV:

  • Single playlist is used, users can't add custom playlists
  • No UDP proxy settings

Building custom IPTV app

To build you custom IPTV app you can do one of the following:

  • Clone iptv.example project, change app name, launcher icon, and package name.
  • Create new Android project with empty activity and use the code from MainActivity.java

You will also need to set custom playlist URL in MainActivity.onStart().

If you're are new in Android development, you can find some useful tutorials here.

Supported playlists formats

IPTV Core app supports M3U and XSPF playlist formats. Additionally to standard M3U file format it supports extended M3U playlists with custom attrubutes.

Here is an example of extended M3U playlist:

#EXTM3U url-tvg="http://www.teleguide.info/download/new3/xmltv.xml.gz"
#EXTINF:-1 group-title="Science", Discovery
http://example.com/channel1
#EXTINF:-1 group-title="Sport", Eurosport
http://example.com/channel2
#EXTINF:-1 tvg-logo="Eurosport" tvg-name="Eurosport" tvg-shift="+1",Eurosport +1
http://example.com/channel3
#EXTINF:-1 group-title="Custom" tvg-logo="https://cdn1.iconfinder.com/data/icons/Primo_Icons/PNG/128x128/video.png",My Custom channel
http://example.com/channel4
  • url-tvg - URL for EPG in JTV (zip) or XMLTV (xml, gz) format. Several URLs may be specified separated by comma
  • group-title - Title for channels group
  • tvg-logo - Channel logo name (from internal database) or URL to the image that will be used as channel logo
  • tvg-name - Name of the channel from EPG, should be equal to the value of "display-name" tag in XMLTV
  • tvg-id - XMLTV channel id. When both tvg-id and tvg-name are specified for the same channel, tvg-id will be used.
  • tvg-shift - Shift in hours for EPG

Intent API

Intent API which is used for launching IPTV Core from third-party package (launcher app)

Data:
    Playlist URL
    
Extras (optional):
    package
        Type: String
        Example: intent.putExtra("package", getPackageName());
        
        "package" extra is used for sending package name of your app to IPTV Core. If this extra is set, 
        IPTV Core will be able to show your app name as a title
        
    url-tvg (Since IPTV Core 3.3)
        Type: String
        Example: intent.putExtra("url-tvg", "<Your EPG URL>");
        
        EPG URL can be set either by "url-tvg" parameter in your playlist or by "url-tvg" extra
        
    http_connect_timeout
        Type: int
        Example: intent.putExtra("http_connect_timeout", 30 * 1000); // Set http connect timeout to 30 seconds
        
        Http connect timeout for loading playlist and EPG (not video streams)
    
    http_read_timeout
        Type: int
        Example: intent.putExtra("http_read_timeout", 30 * 1000); // Set http read timeout to 30 seconds
        
        Http read timeout for loading playlist and EPG (not video streams)
        
    http_user_agent (Since IPTV Core 3.3.1)
        Type: String
        Example: intent.putExtra("http_user_agent", "<Custom user agent>")
        
        Custom value for "User-Agent" http request property which is used for loading playlist and EPG (not video streams)
        
    preferred_player_package (Since IPTV Core 3.3.2)
        Type: String
        Example: intent.putExtra("preferred_player_package", "org.videolan.vlc"); // Set VLC as preferrred video player
        
        Preferred video player should be one of the supported players that can be found in IPTV Core settings.
        At the first launch the app will check if one of supported players is installed. 
        When no supported players found, the user will be forced to install the preferred video player.
        By default, the app uses MX Player as preferred player.

    hide_all_channels_tab (Since IPTV Core 3.9.4)
        Type: boolean
        Example: intent.putExtra("hide_all_channels_tab", true);
        
        Option to hide "All Channels" tab. This option works only when you have categories in your playlist.

License

Copyright (C) 2014 Alexander Sofronov

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

iptv.example's People

Contributors

alexandersofronov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

iptv.example's Issues

IPTV Core APK into Android studio

How can i add IPTV core apk into my android studio app. So that it downloads with my app.
Instead of getting the message IPTV Core not installed, Please install "IPTV Core" app from Google Play

Add intent-filter to manifest

Please consider adding the following intent filter to your activity:

<activity android:exported="true" android:label="@string/app_name"
        android:name=".ChannelsActivity">
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:scheme="http" />
        <data android:scheme="https" />
    </intent-filter>
</activity>

This would allow anyone to start IPTV directly from Chrome through an intent url such as:

intent://lista.kodiportugal.com#Intent;package=ru.iptvremote.android.iptv.core;component=ru.iptvremote.android.iptv.core.ChannelsActivity;scheme=http;endย 

I can't find layout folder

Hi, I can't find the layout folder, could you tell me where is it? Because I want to change a little bit the layout.

Thank you.

Multiple categories "group-title " on m3u

Checkin m3u documentation says

you can have multiple categories for a single channel spliting with ;

group-title="TypeA;TypeB;TypeC"

IPTV is not detecting this scenario.
showing a single category "TypeA;TypeB;TypeC"

Change default player

Hello

I can set XMTV Player as the default player from iptv.example via code and not from settings.

And if it is possible to create a custom theme for the application

Thank you.

How to put a play list on MainActivity.java

Can you make a video on YouTube how to put a play list to MainActivity.java.
And if you can make a tutorial how to launch iptv core using sketchware and put a play list.
Plz

Passing playlist in intent

hey,

I want to direct my users from my app to your app (iptv.pro)

however, when i try to do
intent.setData(Uri.fromFile(localFileOfPlayList)) or intent.setData(Uri.parse(remoteUrlOfPlayList))
the app opens, but the play list isnt loaded.
Does iptv.pro (and perhaps iptv free) support opening custom play list in the intent ?

Auto hide channels

Automatically hide the channel when the time is greater than or equal to the specified time. This is suitable for some event channels, to hide the expired event.

Event channel scheduling, will show the specified message instead of playing the link error (the link only works when the event starts)

Add hide_all_channels_tab to official version

How to customize user-agent in android vlc sdk

I used vlc palyer for IPTV apk
I am going to change user-agent for this player
but when I customize user-agent, I got "my_custom_user_agent LibVLC/3.00-git" too
How can i delete this strings : "LibVLC/3.00-git"
Pls let me know

EPG not working

Hi

EPG is not working i have tested enabling the EPG url on main activity and also on the m3u channels list

on the m3u channel list i was able to load channels list, logo channel list ok

but no EPG working yet

also how can i add bar on left menu to import manually URL m3u list? via browser of app?

EPG on main channel MENU BAR with channel icon for STB devices

Hiya

i have been testing it on my mx9 stb, and i would like to add the EPG and channel icon on the main menu channel bar on the bottom part of the TV screen is this possible to customize on the player code

something similar to this here below, specific page for EPG showing like this menu, and also on the channel event like this

http://blog.listaiptvbrasil.com.br/wp-content/uploads/2017/12/Perfect-Player-IPTV.png

https://1.bp.blogspot.com/-EugoBVDZrKw/WBs-KWyBVbI/AAAAAAAAGdQ/k_r0Iz2uZoYun84NYD6zvQn007jl0PV2QCLcB/s1600/unnamed.png

https://http2.mlstatic.com/xiaomi-mi-tv-box-android-60-4k-iptv-app-filmes-D_NQ_NP_662685-MLB27695028503_072018-F.jpg

Support for localhost link

Can catch links faster like wiseplay and support for internal link: 127.0.0.1, 192.168.x.x, localhost...

Define selected for custom player

How to define the option preferred_player_package as the latest option on settings page? I'm using the Perfect Play, has a great performance for streaming, the best in my testa until now, but IPTV Core don't support it, so, I will set the option to the can select a player.

Thank you!

Iptv Core example

Hi friend, would you be able to provide the example of iptv core used with this application?

set default player not work

I can't set third party player as a default player with this code !

intent.putExtra("preferred_player_package", "org.videolan.vlc");

Can i stop Activity Using a thread?

I need to stop IPTV core activity in my app when a condition is verified by an external thread.
Can i start the thread and after call IPTV core and after stop it?

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.