MpegTV Server
What is mpegtv?
MpegTV is an mpegts streamer/restreamer
features: - Written in C (Amd64 direct machine code no scripting/emulation/virtualisation) - Built-in h262,h264 and h265 analyser (no need to ffmpeg for restreaming) - Mysql database storage. - Very fast clients connection and channel zapping (works smoothly even with ddos attack) - Easy clients,streams.. manipulation (add/edit/disable/enable/delete). - On-demand channels option. - picon, epg and series support. - MAG devices support. - full xtream-codes panel compatibility (get/panel_api/player_api) - unlimited loadbalancers, clients, stream, channels... - optimized search into database (treats 30000 clients as they are only 300) - very low cpu usage (can be installed on VPS). - multi level subreseller system. - built-in activecode system with free android app - built-in anti-bruteforce attack.
INSTALLATION
Install MpegTV+Slave on Ubuntu 20/21
wget http://infosat.org/mpegtv/files/mpegtv_20.sh chmod 755 mpegtv_20.sh ./mpegtv_20.sh
Install MpegTV+Slave on Ubuntu 18.04
wget http://infosat.org/mpegtv/files/mpegtv.sh chmod 755 mpegtv.sh ./mpegtv.sh
Install Slave
Install Slave on Ubuntu 22.04 with (SSL/LIBAV)
wget http://infosat.org/mpegtv/files/slave_22.sh chmod 755 slave_22.sh ./slave_22.sh
Install Slave on Ubuntu 20.04/21.04 with (SSL/LIBAV)
wget http://infosat.org/mpegtv/files/slave_20.sh chmod 755 slave_20.sh ./slave_20.sh
Install Slave on Ubuntu 18.04 with (SSL/LIBAV)
wget http://infosat.org/mpegtv/files/slave.sh chmod 755 slave.sh ./slave.sh
Install Slave on any distribution without (SSL/LIBAV)
wget http://infosat.org/mpegtv/files/slave_14.sh chmod 755 slave_14.sh ./slave_14.sh
must reboot after install
Execution
Execute Main
mpegtv
Open now your browser and enter the server url with the http port
default login user: admin default login pass: admin
Execute Slave Server (EX: load_balance_port=9999, main_server_ip=11.22.33.44 )
slave <port> <main_server_ip> slave 9999 11.22.33.44
Migration from Xtream to Mpegtv
First Run Panel so it will install a new mpegtv database
mpegtv
Copy your xtream_iptvpro database to server and install into mysql (ex: "/root/xtream_iptvpro.sql")
mysql -p{mysql-password} -e "create database xtream_iptvpro" mysql -p{mysql-password} xtream_iptvpro < xtream_iptvpro.sql
Restart mpegtv with xtream database
killall mpegtv mpegtv --xtream
Open web interface in browser with your XTREAM login data (url=http://localhost:8080) Check your database and then Click on overwrite database
in putty, you can see infos
Restart mpegtv normally
killall mpegtv mpegtv
HISTORY LOG
History log: [08.02.2021] r627 - fixed hevc parser - slave: fixed memory release - js: fixed restream playlist page - js: added server filter to stream page [30.01.2021] r620 - portal: fixed series create_link - mpegtv: reduced memory to store client/vod/epg - fixed libav working threads - epg: added daystokeep data option - playlist: added reseller owner - fixed web pages and javascript files - mysql: fixed saving country list - fixed distributed stream processing - slave: added memory infos and auto-restart - slave: close persistent connections and fixed streams priority - fixed get/panel_api/player_api with client output permissions (live/movie/series) - on-demand: check always connected streams - free all stream data on disconnection [24.11.2020] r601 - portal: fixed VOD sub categories on mag clones - web: added search by id list - web: fixed update logo - fixed server connection. [06.11.2020] r589 - fixed mag portal. - fixed tmdb and added elcinema.com api for arabic movies. - added reseller/client country list restriction. - added https server and client. - fixed epg downloader and parser. - changed web interface from static pages to dynamic. - many bugs fixes. [06.03.2020] mpegtv/slave (r499) - MAIN: fixed data exchange mpegtv/slave causing many bugs. - fixed category group in different playlists. - fixed portal connection, vod and series. - added Period webpage, auto loadbalancing, reseller options ... - many bugs fixes (web/clients/streams). [09.01.2020] mpegtv/slave (r410) - many bug fixes. - fixed tv archives and timeshift link. - added auto load balancing. [22.12.2019] mpegtv/slave (r350) - fixed vod typo. - fixed offline streams when slave reconnect. - fixed slave crash. [22.12.2019] mpegtv/slave (r348) - fixed connection between slaves and mpegtv - fixed timeshift in web page - added tv_archive in panel_api and player_api - added timeshift channel (ex:channel with time delay of one hour, http://ip:port/timeshift.php?username=*&password=*&stream=*&interval=60) [18.12.2019] mpegtv/slave (r339) - added tmdb - added tv archives - added reseller admin options - fixed ffmpeg reader. - fixed loadblanace connection - fixed portal - fixed enigma2 - fixed ssl connections [06.12.2019] mpegtv/slave (r294) - added series infos in player_api - added series and logos in enigma2. - fixed bouquet/category editor. - fixed web post replies. - fixed web pages (restream/channel/vod) - fixed portal. - fixed HLS output. - added slave/mpegtv update from panel (after this update you dont need to login via ssh to update your files) - fixed stream selection algorithm - streams with priority 100+ have streaming priority on other streams. - fixed freeze when using max-connected streams to 1 - added streams/clients detailed infos - fixed loadbalance. - fixed max streams connections per restreamer. - fixed mpegtv/slave connection. - fixed internal functions. - many bug fixes. [23.11.2019] mpegtv/slave (r242) - web: added channels and servers json output. - web: moved channelList from static html page to javascript code (test before moving all pages to js) - added channel mass edit/delete/pause... - added auto refresh channel page. - web: added import channel from m3u8 file. - fixed hls output. - slave: speedup database loading. [17.11.2019] mpegtv/slave (r227) - fixed http requests receiver. - fixed multi-connection detection for clients with max_conn=1 [15.11.2019] mpegtv/slave (r221) - Added Most Watched VOD - Fixed already used Mac info - Block multi-connection on same channel - Added flag to disable internal assets (js+css) [14.11.2019] mpegtv/slave (r217) - fixed channel redirection - fixed invisible auto-deleted client - fixed xmltv - added auto update - added VOD/files browser (insert/list/rename/delete/create/exec) - added HLS/m3u8 output only to normal clients. - fixed portal - reduced time to load data from mysql. - fixed creditlog pagination [06.11.2019] mpegtv/slave (r186) - added Restart slave/mpegtv - fixed import channel - fixed reseller inactivity timeout - fixed vod buffer overflow - enable active clients deletion - fixed expired clients deletion [05.11.2019] slave (r184) - fixed https links - fixed rtmp links - fixed VOD streaming (changed max speed to 8Mbps) [29.10.2019] mpegtv (r171) - Changed style (1st step) - Added delete buttons. - Auto-detect VOD location. [25.10.2019] slave (r158) - removed updated of r156 and r157. [24.10.2019] slave (r157) - fixed m3u8 reader causing high cpu usage. [23.10.2019] slave (r156) - fixed internal stream reader. - fixed url parser. - fixed http range causing video problems. [18.10.2019] mpegtv, slave - fixed palyer_api typo. - added missing request 'get_vod_info' in player_api. - fixed: send streams to clients. - fixed: change stream reader from ffmpeg to internal. - fixed create activecode. [17.10.2019] mpegtv - fixed api (please download 'files/api.tar.gz' for more infos) - fixed subreseller bug - fixed server bugs. - fixed player_api series infos. [12.10.2019] mpegtv, slave - fixed ondemand buffering (must update all slaves) - added more API requests /api.php?action=stb&sub=create /api.php?action=user&sub=create /api.php?action=user&sub=edit /api.php?action=user&sub=info /api.php?action=reg_user&sub=credits&amount=***&id=*** /api.php?action=server&sub=list [10.10.2019] mpegtv, slave - fixed buffer overflow bug. - added ffmpeg stream reader (not available on ubuntu14) - fixed api request /api.php?action=user&sub=edit - fixed api request /api.php?action=user&sub=info [07.10.2019] slave - fixed loadbalance channel reconnection. - fixed ondemand. - fixed invalid url bug. [07.10.2019] mpegtv - fixed stalker wrong theme path. [06.10.2019] mpegtv, slave/14 - fixed slave crash. - fixed mag, added series, added stalker 'path/theme/devices_list' in global config - added grace period for clients [03.10.2019] mpegtv, slave/14 - fixed slave bug. - api.php: added user create/info/edit. - fixed web interface - added multi bouquet for clients. - fixed non-stop ondemand. [01.10.2019] slave - fixed stream reader. [30.09.2019] - fixed mpegtv, last update dont connect [28.09.2019] update slave_14, slave, mpegtv - fixed connection bug for good - fixed loadbalance [26.09.2019] update slave, mpegtv - fixed channel ondemand - fixed mpegtv conection bug (PLEASE UPDATE TO NEW VERSION) [25.09.2019] update mpegtv - added client search by mac address - fixed live links 'http://host:port/user/pass/id' - fixed mpegtv connection timeout when sending a huge database to slaves [24.09.2019] - import all series/vod database from xtream - fixed paiement system now by default prepaid. [22.09.2019] - fixed vod in mag, portal must be entred like that in mag: http://hostname:port/c/ (dont forget forward slash "/" after c) [21.09.2019] - fixed mag portal - xconv: added conversion of forced_country,reseller_notes,admin_notes from table users - xconv: identify channel server_id from database
GENERAL OPTIONS (/var/mpegtv/mpegtv.cfg)
HTTP PORT: <port value>
Listening port for HTTP server
MYSQL SERVER: <mysqlserver ip/host>
Mysql hostname
MYSQL USERNAME: <username>
Mysql connection
MYSQL PASSWORD: <passsword>
Mysql connection
MYSQL DATABASE: <database>
Mysql database name
FILE IP2COUNTRY: <path>
load ipcountry data from csv file
Convert Xtream-codes database to Mpegtv
Xtream to Mpegtv Converter
xconv ouputs sql requests for mpegtv database Usage: xcon -u <mysql_username> -p <mysql_password> -d <xtream_database> 1. Download xconv
wget -O /usr/local/bin/xconv http://infosat.org/mpegtv/files/xconv chmod 755 /usr/local/bin/xconv
2. Upload you Xtream_iptvpro dump in server
3. Create xtream_iptvpro database
echo "create database xtream_iptvpro" | mysql -p
4. Install xtream_iptvpro database
mysql -p --default-character-set=utf8mb4 xtream_iptvpro < xtream_iptvpro.sql
5. Get the converted database
xconv -u mysql_username -p mysql_password -d xtream_iptvpro > mpegtv.sql
6. Create mpegtv database
echo "create database mpegtv" | mysql -p
7. Update mpegtv database
mysql -p mpegtv < mpegtv.sql
Preview