home
products
contribute
download
documentation
forum
Home
Forums
New posts
Search forums
What's new
New posts
All posts
Latest activity
Members
Registered members
Current visitors
Donate
Log in
Register
What's new
Search
Search
Search titles only
By:
New posts
Search forums
Search titles only
By:
Menu
Log in
Register
Navigation
Install the app
Install
More options
Contact us
Close Menu
Forums
MediaPortal 1
Development
Improvement Suggestions
EPG grab improvement
Contact us
RSS
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Reply to thread
Message
<blockquote data-quote="SciDoctor" data-source="post: 88722" data-attributes="member: 11346"><p>Say we have 2 muxes</p><p>mux A : has channels 1-20</p><p>mux B : has channels 21-40</p><p></p><p>(good so far)</p><p></p><p>Now with this situation, the epg grabber will work like this:</p><p>1. it starts grabbing epg for channel 1 (on MUX A)</p><p>2. suppose receives the epg for channels 1-20</p><p>3. it updates the database for channels 1-20</p><p></p><p>(not so good as if MUX A is timing out because of whatever error the grab will now continue to repeat on MUX A until all channels are tried 20x10 =200 minutes of wasted time grabing, whereas if after timing out on MUX A channel 1 the grab then moves to MUX B channel 1 and gets a succesful grab; this took one tenth of the time to achieve.</p><p>Now if you have six MUX's and 100plus total channels and MUX 6 is the only MUX that is capable of a succesful grab at this time then the total time taken is ridiculus when gabing from every channel on every MUX)</p><p></p><p>Next, it will see that 1-20 are already updated, so it continues with channel 21</p><p>4. it starts grabbing epg for channel 21 (on MUX B)</p><p>5. suppose receives the epg for channels 21-40</p><p>6. it updates the database for channels 21-40</p><p>7. all epg has been received. epg grabber waits for 4 hours before starting again</p><p></p><p>(Skipping data for channes that have grabbed is a bad move because most grabs are partial and not all data is collected succcesfully. To build up a complete EPG multiple grabs for the same channel will be required. Here redundency in grabbing is a good move)</p><p></p><p></p><p>Now in some countries things are different</p><p>A channel will contain epg for other channels , but not for all channels</p><p>In this situation the following happens:</p><p>1. it starts grabbing epg for channel 1 (on MUX A)</p><p>2. suppose receives the epg for channels 1-10 (not a complete mux!)</p><p>3. it updates the database for channels 1-10</p><p>Next, it will see that 1-10 are already updated, so it continues with channel 11</p><p>4. it starts grabbing epg for channel 11 (on MUX A)</p><p>5. suppose receives the epg for channels 11-20 </p><p>6. it updates the database for channels 11-20</p><p></p><p>(same as above. there is no guarantee that the previous grab for channel x recieved ALL the data for that particular channel so redundency is yet again good to get a full EPG)</p><p></p><p>Next, it will see that 1-20 are already updated, so it continues with channel 21</p><p>7. it starts grabbing epg for channel 21 (on MUX B)</p><p>8. suppose receives the epg for channels 21-30</p><p>9. it updates the database for channels 21-30</p><p></p><p>Next, it will see that 1-30 are already updated, so it continues with channel 31</p><p>10. it starts grabbing epg for channel 31 (on MUX B)</p><p>11. suppose receives the epg for channels 31-40</p><p>12. it updates the database for channels 31-40</p><p>13. all epg has been received. epg grabber waits for 4 hours before starting again</p><p></p><p>After explaining this, i fail to see why your method:</p><p>1. is more efficient</p><p>2. takes in account that a channel might not contain the full epg for all channels in the mux</p><p></p><p>(1. not efficent, wastes time repeating a grab on a MUX until all channels are tried, also even if it had a succesfull grab the data may only be partial to populate the EPG for a channel but will exclude that channel for the next grab)</p><p></p><p></p><p>(2. overcomplicated as the grabber cannot tell if the data received is all the data available.)</p><p></p><p></p><p>(What we both want is a quick uncomplicated route to grab as much information as possible</p><p></p><p>So we have six MUX</p><p></p><p>Grab MUX 1 Ch 1 if succesful store what is grabed in database and move to next MUX. IF not succesful move to next MUX </p><p></p><p>Grab MUX 2 CH 1 as above </p><p></p><p>repeat</p><p></p><p>Grab MUX 6 CH 1 </p><p></p><p>Grab MUX 1 CH 2</p><p></p><p>repat for MUX 2 - 6 CH 2</p><p></p><p>GRAB MUX 1 CH 3</p><p></p><p>ETC</p><p></p><p>Now the above method covers all the channels but prioritises the MUX first .</p><p></p><p>Simplify the grab don't exclude channel info just because we had a grab from it in the last grab. We want to get the EPG populated as quickly as possible and any changes or missed info as quickly as possible)</p><p></p><p>Your existing method works on a best case scenario that data is always availble and complete for the EPG grab, you need to work on the worst case scenario tha data isn't available and you need to try as many available options as possible</p></blockquote><p></p>
[QUOTE="SciDoctor, post: 88722, member: 11346"] Say we have 2 muxes mux A : has channels 1-20 mux B : has channels 21-40 (good so far) Now with this situation, the epg grabber will work like this: 1. it starts grabbing epg for channel 1 (on MUX A) 2. suppose receives the epg for channels 1-20 3. it updates the database for channels 1-20 (not so good as if MUX A is timing out because of whatever error the grab will now continue to repeat on MUX A until all channels are tried 20x10 =200 minutes of wasted time grabing, whereas if after timing out on MUX A channel 1 the grab then moves to MUX B channel 1 and gets a succesful grab; this took one tenth of the time to achieve. Now if you have six MUX's and 100plus total channels and MUX 6 is the only MUX that is capable of a succesful grab at this time then the total time taken is ridiculus when gabing from every channel on every MUX) Next, it will see that 1-20 are already updated, so it continues with channel 21 4. it starts grabbing epg for channel 21 (on MUX B) 5. suppose receives the epg for channels 21-40 6. it updates the database for channels 21-40 7. all epg has been received. epg grabber waits for 4 hours before starting again (Skipping data for channes that have grabbed is a bad move because most grabs are partial and not all data is collected succcesfully. To build up a complete EPG multiple grabs for the same channel will be required. Here redundency in grabbing is a good move) Now in some countries things are different A channel will contain epg for other channels , but not for all channels In this situation the following happens: 1. it starts grabbing epg for channel 1 (on MUX A) 2. suppose receives the epg for channels 1-10 (not a complete mux!) 3. it updates the database for channels 1-10 Next, it will see that 1-10 are already updated, so it continues with channel 11 4. it starts grabbing epg for channel 11 (on MUX A) 5. suppose receives the epg for channels 11-20 6. it updates the database for channels 11-20 (same as above. there is no guarantee that the previous grab for channel x recieved ALL the data for that particular channel so redundency is yet again good to get a full EPG) Next, it will see that 1-20 are already updated, so it continues with channel 21 7. it starts grabbing epg for channel 21 (on MUX B) 8. suppose receives the epg for channels 21-30 9. it updates the database for channels 21-30 Next, it will see that 1-30 are already updated, so it continues with channel 31 10. it starts grabbing epg for channel 31 (on MUX B) 11. suppose receives the epg for channels 31-40 12. it updates the database for channels 31-40 13. all epg has been received. epg grabber waits for 4 hours before starting again After explaining this, i fail to see why your method: 1. is more efficient 2. takes in account that a channel might not contain the full epg for all channels in the mux (1. not efficent, wastes time repeating a grab on a MUX until all channels are tried, also even if it had a succesfull grab the data may only be partial to populate the EPG for a channel but will exclude that channel for the next grab) (2. overcomplicated as the grabber cannot tell if the data received is all the data available.) (What we both want is a quick uncomplicated route to grab as much information as possible So we have six MUX Grab MUX 1 Ch 1 if succesful store what is grabed in database and move to next MUX. IF not succesful move to next MUX Grab MUX 2 CH 1 as above repeat Grab MUX 6 CH 1 Grab MUX 1 CH 2 repat for MUX 2 - 6 CH 2 GRAB MUX 1 CH 3 ETC Now the above method covers all the channels but prioritises the MUX first . Simplify the grab don't exclude channel info just because we had a grab from it in the last grab. We want to get the EPG populated as quickly as possible and any changes or missed info as quickly as possible) Your existing method works on a best case scenario that data is always availble and complete for the EPG grab, you need to work on the worst case scenario tha data isn't available and you need to try as many available options as possible [/QUOTE]
Insert quotes…
Verification
Post reply
Forums
MediaPortal 1
Development
Improvement Suggestions
EPG grab improvement
Contact us
RSS
Top
Bottom