Welcome to World of IPTV

With

+23k members
+11k threads
+106k posts

we are the most popular IPTV community on the web. 

IMPORTANT NOTE:
WE HAVE RECENTLY NOTICED THAT TOO MANY DOUBLE FAKE ACCOUNTS ARE CREATED IN THE PAST.
TO PREVENT THIS ISSUE THE DECISION WAS MADE THAT IN THE FUTURE A ANNUALLY FEE 20 EURO WILL BE RAISED FOR NEW MEMBERSHIPS.

Join now to the World of IPTV

Forum Rules

Before you start, check out the forum rules first

Account upgrade

Upgrade your account to get access to full features

Advertising

Would you like to place your advertisement with us ?

Resources Manager

Hundreds of IPTV scripts and apps are available for download

Tutorial MuMuDVB Web Services

nikemi007

Member
Member
Joined
Oct 7, 2019
Messages
9
Reaction score
44
Points
24
Location
Argentina
Webservices

Table of Contents
1. Status monitoring :
1.1. JSON files:
2. Access to the CAM menu:
3. Electronic program guide

To activate the webservices, just enable the unicast mode with something like that:

unicast=1 : Activate the internal webserver
ip_http=127.0.0.1 : IP address for accepting the HTTP requests
port_http=8005 : Listening port

NoteWhen you use several card on one server you can use the template %card for the listening port. Ex: port_http=4000+%card. Ports higher than 1024 can be used by unprivileged users.
The webservices responses are not SOAP compliant, but formatted in simple XML documents (UTF-8) or in JSON. The output can be easily parsed in PHP for example.

Status monitoring :
There is no input parameters. URL : http://ip_http:port_http/monitor/state.xml
Example of response with comments:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<mumudvb card="5" frontend="0"> => adapter and frontend devices
<card_path>/dev/dvb/adapter5</card_path> => card device path
<global_version><![CDATA[1.6.1b_20101101]]></global_version> => MuMuDVB version
<global_pid>19574</global_pid> => process PID
<global_uptime>45</global_uptime> => process uptime in seconds
<frontend_name><![CDATA[ST STV0299 DVB-S]]></frontend_name> => frontend name
<frontend_tuned>1</frontend_tuned> => 0 if adapter not tuned, 1 if adapter is tuned
<frontend_frequency>11856000</frontend_frequency> => tuning frequency (always in kHz)
<frontend_polarization><![CDATA[V]]></frontend_polarization> => "-" if polarization isn't applicable, or "V" (Vertical), "H" (Horizontal", "L" (Left), "R" (Right)
<frontend_symbolrate>27500000</frontend_symbolrate> => Satellite symbole rate in symbols per second (or 0 if not applicable)
<frontend_system><![CDATA[DVB-S]]></frontend_system> => System used : "DVB-C", "DVB-T", "DVB-S", "DVB-S2", "ATSC"
<frontend_status><![CDATA[SCVYL]]></frontend_status> => Tuner lock status: "S"/"-" (Signal), "C"/"-" (Carrier), "V"/"-" (Viterbi), "Y"/"-" (Synchro), "L"/"-" (Locked)
<frontend_ber>0</frontend_ber> => RAW BER value from driver (unsigned 16-bits integer)
<frontend_signal>56955</frontend_signal> => RAW Signal level value from driver (unsigned 16-bits integer)
<frontend_snr>54759</frontend_snr> => RAW Signal to noise ratio from driver (unsigned 16-bits integer)
<autoconfiguration>2</autoconfiguration> => Autoconfiguration status 0: none, 2: full
<autoconfiguration_detected_parameters> => Part displayed only when autoconfiguration is enabled
<transport_stream_id>2</transport_stream_id> => Transport stream id
<network_id>8442</network_id> => network id (see ts_10261102v010201p.pdf p14 and ts_101162v010701p.pdf p18 p19)
<original_network_id>8442</original_network_id> => original network id (see ts_10261102v010201p.pdf p14 and ts_101162v010701p.pdf p18 p19)
<pat_version>19</pat_version> => Version of the PAT PID
<sdt_version>2</sdt_version> => Version of the SDT PID
<nit_version>28</nit_version> => Version of the NIT PID
<psip_version>0</psip_version> => Version of the PSIP PID (ATSC only)
</autoconfiguration_detected_parameters> =>
<autoconfiguration_finished>1</autoconfiguration_finished> => 0 if not autoconfiguration or autoconfiguration in progress, 1 if autoconfiguration is finished
<cam_support>1</cam_support> => 0 if no CAM support asked, 1 if CAM support was asked
<cam_number>0</cam_number> => CAM slot number
<cam_menustring><![CDATA[Not retrieved]]></cam_menustring> => When CAM is initialized, CAM model
<cam_initialized>0</cam_initialized> => 0 if CAM isn't initialized, 1 if CAM is initialized

<channel number="1"> => Loop over channels, one node per channel, with MuMuDVB internal id (starting at 1)
<lcn>0</lcn> => If present, Channel Logical Number (Channel number)
<name><![CDATA[CANAL+]]></name> => Channel name
<service_type type="1"><![CDATA[Television]]></service_type> => See function "service_type_to_str" in "log.c" file for complete description
<ip_multicast><![CDATA[0.0.0.0]]></ip_multicast> => Multicast IP address (0.0.0.0 if multicast is disabled)
<port_multicast>0</port_multicast> => Multicast UDP port (0 if multicast is disabled)
<is_up>0</is_up> => 0 if channel is not streamed, 1 if channel is streamed
<traffic>7</traffic> => Channel streamed IP bandwidth in kB (kilo-Bytes) per second
<ratio_scrambled>99</ratio_scrambled> => Percentage of scrambled packets received
<service_id>8201</service_id> => Service ID of channel
<pmt_pid>1280</pmt_pid> => PMT PID of channel
<pmt_version>1</pmt_version> => The version of the PMT PID in the TS stream
<pcr_pid>160</pcr_pid> => PCR PID of channel
<unicast_port>0</unicast_port> => Unicast port associated with the channle if unicast is setup by port
<ca_sys> => Loop over all the CA systems listed in the PMT for the channel
<ca num="256"><![CDATA[Canal Plus]]></ca> => CA identifier and description if avaliable
</ca_sys> => End of CA systems loop
<pids> => Loop over all PID related to the channel and declared in the PMT
<pid number="1280" language="---"><![CDATA[PMT]]></pid> => PID number, Language associated (or "---" if no language associated), PID description if avaliable
<pid number="160" language="---"><![CDATA[Video (MPEG2)]]></pid>
<pid number="80" language="fra"><![CDATA[Audio (MPEG2)]]></pid>
<pid number="81" language="eng"><![CDATA[Audio (MPEG2)]]></pid>
<pid number="32" language="---"><![CDATA[Teletext]]></pid>
<pid number="82" language="fra"><![CDATA[Audio (AC3)]]></pid>
<pid number="83" language="eng"><![CDATA[Audio (AC3)]]></pid>
</pids> => End of PID loop
<clients count="1"> => Loop over unicast clients
<client number="0"> => Client Information
<socket>80</socket> => Local socket FD
<remote_address><![CDATA[192.168.0.54]]></remote_address> => Remote IP address of the client
<remote_port>438754</remote_port> => Remote port
<buffersize>0</buffersize> => Client Buffer
<consecutive_errors>0</consecutive_errors> => Count of consecutive errors when writing to this client
<first_error_time>1411392479</first_error_time> =>
<last_error_time>0</last_error_time> =>
</client> => End of Client.
</clients> => End of clients loop
</channel> => End of channels loop
</mumudvb> => End of response

1.1. JSON files:
You can get similar information in the JSON files
  • http://ip_http:port_http/channels_list.json
  • http://ip_http:port_http/monitor/signal_power.json
  • http://ip_http:port_http/channels_traffic.json
  • http://ip_http:port_http/monitor/state.json
2. Access to the CAM menu:

These two webservices allow for accessing the CAM menu during streaming. This is usefull for checking rights or download status for example.
The file cam_menu.php is a simple demonstration on how to use these webservices in order to make a web interface with AJAX compatible with the most important browsers (Firefox, Chrome, Internet Explorer).
For using it, you just need a webserver (lighttpd, apache, etc.) with PHP activated. The web page accept one GET parameter: port_server. This is the unicast port setup for accessing MuMuDVB webservices.
The CAM menu is refresded every 2 seconds and buttons can be used to navigate in the menus. MENU, LIST and ENQUIRY MMI objects are supported.
Case when the CAM isn’t initialized:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<menu>
<datetime><![CDATA[Mon Nov 1 22:08:17 2010]]></datetime> => Last update time/date
<object><![CDATA[NONE]]></object> => No object to show
<title><![CDATA[CAM not initialized!]]></title> => Message about CAM not initialized
</menu>
Case when the CAM is initialized but there is no menu to display:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<menu>
<datetime><![CDATA[Tue Nov 2 22:38:37 2010]]></datetime> => Last update time/date
<cammenustring><![CDATA[Aston Module 2.1800]]></cammenustring> => CAM model
<object><![CDATA[NONE]]></object> => No object to show
<title><![CDATA[No menu to display]]></title> => Message about no menu to display
</menu>
Case when a object is send by the CAM to be displayed:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<menu>
<datetime><![CDATA[Tue Nov 2 22:39:58 2010]]></datetime> => When the object was received
<cammenustring><![CDATA[Aston Module 2.1800]]></cammenustring> => CAM model
<object><![CDATA[MENU]]></object> => Object: "MENU", "LIST" or "ENQUIRY"
<title><![CDATA[Module Aston]]></title> => Object title
<subtitle><![CDATA[Carte num ro 544.193.724]]></subtitle> => Object subtitle (when an "ENQUIRY" object is display, show the number of characters expected in the answer)
<item num="0"><![CDATA[Return]]></item> => For "MENU" and "LIST" objects, contain the lines of information or the items to be choosen. The "num" attribute correspond to the key to press to choose the item.
<item num="1"><![CDATA[Consultation des droits]]></item>
<item num="2"><![CDATA[R glages]]></item>
<item num="3"><![CDATA[Information]]></item>
<bottom><![CDATA[Votre choix, svp]]></bottom> => Object bottom line
</menu>
  • Second webservice allows for sending response to the CAM. There is one integer GET paramter: key. Possible keys: 0 to 9 (numbers), M for asking the CAM menu, C for cancelling an ENQUIRY object. URL : http://ip_http:port_http/cam/action.xml?key=X There are 4 king of responses.
OK:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<action>
<datetime><![CDATA[Mon Nov 1 22:13:30 2010]]></datetime>
<key><![CDATA[X]]></key>
<result><![CDATA[OK]]></result>
</action>
Unknown key:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<action>
<datetime><![CDATA[Mon Nov 1 22:13:30 2010]]></datetime>
<key><![CDATA[X]]></key>
<result><![CDATA[ERROR: Unknown key!]]></result>
</action>
CAM not initialized:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<action>
<datetime><![CDATA[Mon Nov 1 22:13:30 2010]]></datetime>
<key><![CDATA[X]]></key>
<result><![CDATA[ERROR: CAM not initialized!]]></result>
</action>
MuMuDVB compiled without CAM support:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<action>
<datetime><![CDATA[Mon Nov 1 22:13:30 2010]]></datetime>
<key><![CDATA[X]]></key>
<result><![CDATA[Compiled without CAM support]]></result>
</action>

3. Electronic program guide
The content of the EIT table (electronic programs guide) is now available via the Webservices.
To enable it, put store_eit=1 in your configuration file and get the file:
  • http://ip_http:port_http/monitor/EIT.json

NOTE: I don´t know the way not to appear these emoticon :p (its colon and p) SORRY !

Thanks for reading!
 
D

DM 3

Guest
Very nice indeed. This will help a lot of people.

I used to use MuMu and they are a good solid platform + its FREE which is awesome.
 

ocbslim

Member
Member
Joined
Oct 3, 2019
Messages
50
Reaction score
415
Points
64
Location
Hambug
I did not understand how to do this. Can you show it with a video? Thank you.
 

evox

Member
Registred
VIP Member 3M
Member
Joined
Aug 24, 2022
Messages
12
Reaction score
1
Points
14
Location
Portugal
hello, is possible to upload the files and make some tutorial?
 
shape1
shape2
shape3
shape4
shape5
shape6
Top
AdBlock Detected

We know, ad-blocking software do a great job at blocking ads. But our site is sponsored by advertising. 

For the best possible site experience please take a moment to disable your AdBlocker.
You can create a Account with us or if you already have account, you can prefer an Account Upgrade.

I've Disabled AdBlock