Page 1 of 2
Veetle.com

Posted:
Mon Aug 13, 2012 2:06 am
by xs2inattar
This plugin is an upgrade over trigu's veetle movies and veetle shows plugins and combines them into one plugin.
This plugin supports veetle.com categories.
Must specify number of channels to be retrieved at the end of the link or add -1 to retrieve all the channels from the category.
Add urls as video webresource.
- Code:
Veetle.com Categories
All: http://veetle.com/index.php/listing/index/all/30 -
Animation: http://veetle.com/index.php/listing/index/animation/-1 - -1 in the link fetches all the channels from animation category
Comedy: http://veetle.com/index.php/listing/index/comedy/10 - 10 in the link fetches 10 channels from comedy category
Education: http://veetle.com/index.php/listing/index/education/-1 -
Gaming: http://veetle.com/index.php/listing/index/gaming/-1 -
Entertainment: http://veetle.com/index.php/listing/index/entertainment/20 - 20 in the link fetches 20 channels from entertainment category
Shows: http://veetle.com/index.php/listing/index/shows/10 - 10 at the end of the link fetches 10 channels from shows category
Sports: http://veetle.com/index.php/listing/index/sports/-1 -
Music: http://veetle.com/index.php/listing/index/music/10 -
News: http://veetle.com/index.php/listing/index/news/10 -
Religion: http://veetle.com/index.php/listing/index/religion/10 -
Re: Veetle.com

Posted:
Mon Aug 13, 2012 7:12 am
by martyn
nice one m8, i appreciate your work

Re: Veetle.com

Posted:
Mon Aug 13, 2012 11:29 pm
by npuser
Good one xs2inattar. Thank you
what do you think about implementing a place holder section for each category id in the plugin to give end user an ability add their own channel id if they choose as shown below?
thanks
NPuser
- Code:
......
......
List<WebResourceItem> items = []
def itemsAdded = 0;
for( int i = 0; i < items_count ; i++) {
String programName = list.payload.title [i]
String programID = list.payload.channelId [i]
String thumbnail = list.payload.thumbnailUrl [i]
//rename channel ID
if (category_id = 20 || category_id =0) {
if (programName == "H_D_1") programName = "The Big Bang Theory"
else if (programName == "AnimatedShows") programName = "South Park"
else if (programName == "AnimatedShows2") programName = "Family Guy"
else if (programName == "REAL_HD") programName = "Man Vs Food"
else if (programName == "H_D_1") programName = "The Big Bang Theory"
else if (programName == "AnimatedShows2") programName = "South Park"
else if (programName == "AnimatedShows") programName = "Family Guy"
else if (programName == "REAL_HD") programName = "Man Vs Food"
else if (programName == "scratch11") programName = "The Big Bang Theory"
else if (programName == "kempo") programName = "Myth Busters"
else if (programName == "taahm8") programName = "Two and Half Men"
else if (programName == "_fb_769756662") programName = "How I Met Your Mother"
else if (programName == "miko129") programName = "Man Woman and Wild"
}
else if (category_id = 10 || category_id=0 ){
if (programName == "-2012FILMS-") programName = "2012 Movies"
else if (programName == "-2012FILMS-") programName = "2012 Movies"
else if (programName == "_nikumah_") programName = "HQ Bollywood"
else if (programName == "BollyMagic") programName = "Bollywood Magic"
else if (programName == "Bollywood_Magic") programName = "Bollywood"
else if (programName == "phatpicks4") programName = "Animated Movies"
else if (programName == "nowplay") programName = "Pixar Movies"
else if (programName == "PhatPicks5") programName = "Kids Movies"
else if (programName == "jugno007") programName = "Bollywood Masala"
}
else if (category_id = 30 || category_id=0){
//feel free to add your own match channel id
}
else if (category_id = 40 || category_id=0){
//feel free to add your own match channel id
}
else if (category_id = 50 || category_id=0){
//feel free to add your own match channel id
}
WebResourceItem item = new WebResourceItem( title: programName, additionalInfo : ['thumbID': thumbnail , 'programID': programID])
println "item = $item"
items << item
itemsAdded++
}
return new WebResourceContainer(title: 'Veetle - ' + category.capitalize(), items: items)
}
........
Re: Veetle.com

Posted:
Tue Aug 14, 2012 12:46 am
by xs2inattar
npuser wrote:Good one xs2inattar. Thank you
what do you think about implementing a place holder section for each category id in the plugin to give end user an ability add their own channel id if they choose as shown below?
thanks
NPuser
...
This would be a lot to maintain as streams come and go on veetle.
I leave this up to the users if they want to rename the channels they can use your post as a guideline and update the plugin code for themselves. I personally prefer to use the same channel name as on veetle.
Thanks.
Re: Veetle.com

Posted:
Tue Aug 14, 2012 1:04 am
by npuser
Fair enough !
thanks
NPuser
Re: Veetle.com

Posted:
Sat Aug 18, 2012 12:35 am
by atc98092
Could someone give me a hand. I have this plug-in working, but there's an issue. It shows (for example) Enterprise, which I know to be the TV show Star Trek: Enterprise, but there's no way to select an episode. Am I missing something, or does my Panasonic TV DLNA client lack something?
Re: Veetle.com

Posted:
Sat Aug 18, 2012 5:56 pm
by JerseyJoe123
atc98092 wrote:Could someone give me a hand. I have this plug-in working, but there's an issue. It shows (for example) Enterprise, which I know to be the TV show Star Trek: Enterprise, but there's no way to select an episode. Am I missing something, or does my Panasonic TV DLNA client lack something?
No, you are not missing anything and your TV doesn't lack anything. Nor is it a limitation of the plugin.
For the Veetle streams, there is no way to select individual episodes as the stream is live. Think of it like a regular TV channel. You can look at the schedule of upcoming episodes, but you have to wait until that time to watch it.
Some online sites do give you a list of episodes that you can choose from to view on demand, while others don't. Veetle falls in the second category.
Re: Veetle.com

Posted:
Sat Aug 18, 2012 9:08 pm
by atc98092
Thank you JerseyJoe. Excellent description!
Re: Veetle.com

Posted:
Sat Aug 25, 2012 5:22 am
by trigu75
great upgrade

...
Re: Veetle.com

Posted:
Tue Sep 04, 2012 7:56 am
by martyn
think this is broken

any chance of it being fixed ? av not been getting any for a while now, i get a few thunbs show up but wont play.
Re: Veetle.com

Posted:
Thu Sep 06, 2012 1:25 am
by JerseyJoe123
Found the fix for it. The ffmpeg library has to be patched to recognize the GGG. The description and patched files for Windows and OSX can be found here:
http://forum.xbmc.org/showthread.php?ti ... pid1181169Since I use Ubuntu, I patched the line described in the thread:
"if (d[0] == 'F' && d[1] == 'L' && d[2] == 'V' && d[3] < 5 ..."
and replaced it with:
"if ( (d[0] == 'F' || d[0] == 'G' || d[0] == 'H') && d[3] < 5 ..."
in the flvdec.c source file and recompiled ffmpeg. It is working OK so far for all the Veetle streams I've tried.
Re: Veetle.com

Posted:
Thu Sep 06, 2012 4:18 pm
by George_L
I am hoping someone can give a more understandable remedy to this problem. I for one don't understand some of the terminology used on this site and it's not clear to me and I would assume others as to actually what needs to be done to fix this issue. I see a file to download on the link referenced above but don't know what to do with it or what file, if any, I would need to edit or how. Hopefully someone can issue a better explanation for those of us not great at this stuff.
Re: Veetle.com

Posted:
Thu Sep 06, 2012 4:51 pm
by WildRushSykes
Copy the file that you download to the plugins folder of serviio and add the links into the online sources list of serviio and it will list all available media if you need any more help please pm me with your operating system and ill go into detail more

Re: Veetle.com

Posted:
Thu Sep 06, 2012 10:31 pm
by npuser
thank you JerseyJoe123. So far it is working great. Not sure this will break anything else down the road but so far so good.
George_L wrote:I am hoping someone can give a more understandable remedy to this problem. I for one don't understand some of the terminology used on this site and it's not clear to me and I would assume others as to actually what needs to be done to fix this issue.
In Linux env, the file you want to modify is /ffmpeg/libavformat/flvdec.c (per
wiki git clone instruction). Open the file in a text editor and scroll down to line 63 or better yet, just do find "if (d[0] == 'F' && d[1] == 'L' && d[2] == 'V' && d[3] < 5" and replace "if ( (d[0] == 'F' || d[0] == 'G' || d[0] == 'H') && d[3] < 5". After that run "make" again to recompile it. Now it's upto you how you want to make the newly recompiled ffmpeg your default ffmpeg. For me, i usually just copy newly compiled ffmpeg to '/usr/local/bin' folder and call it a day.
For windows, i have feeling you will have to wait till patched version of ffmpeg.
thanks
NPuser
Re: Veetle.com

Posted:
Fri Sep 07, 2012 4:19 am
by JerseyJoe123
According to the XBMC forum, it sounds like Veetle may have intentionally changed the format string from FLV to GGG to cause tools like FFMPEG to fail in detecting the stream. That would cut off apps like Serviio from accessing their videos. If you're limited to watching it through a browser using their player plugin, you have to watch their ads too.
Someone there mentioned that the flvdec.c mod broke their Youtube and IPlayer streams, and suggested changing the patch string to:
"if ( ( (d[0] == 'F' && d[1] == 'L' && d[2] == 'V') || (d[0] == 'G' && d[1] == 'G' && d[2] == 'G') ) && d[3] < 5..."
To make the detection a bit more targeted to the GGG format string. I haven't noticed any issues so far, but I'm going to give it a try. Will let everyone know what happens.
I'm not sure why, in the mod I previously posted, they also included a test for the letter "H". Possibly it was in case Veetle tried to use HHH next, or if it has something to do with a suggestion over at XBMC that Veetle may be toying with HLS as well.
Re: Veetle.com

Posted:
Mon Sep 10, 2012 3:38 am
by trigu75
This is not a good fix
Veetle changed the stream header from flv to ggg
The fix , tells the ffmpeg that ggg is like flv
Now if tomorrow they change ggg to vvv then we are all fucked up again
A good fix should be to tell ffmpeg to ignore the header , and play the stream as flv , no matter what are the 3 first bytes of the stream
Re: Veetle.com

Posted:
Mon Sep 10, 2012 4:34 am
by JerseyJoe123
trigu75 wrote:This is not a good fix
Veetle changed the stream header from flv to ggg
The fix , tells the ffmpeg that ggg is like flv
Now if tomorrow they change ggg to vvv then we are all fucked up again
A good fix should be to tell ffmpeg to ignore the header , and play the stream as flv , no matter what are the 3 first bytes of the stream
Agreed, but no one knows if there is a way to do that without making some even more significant code changes in ffmpeg. One guy suggested using a local proxy that handles the malformed header, and passes the corrected one to ffmpeg. He even posted a link to some code for it. It sounds interesting, but how to implement it into, or call it from, the Veetle plugin is beyond my programming skills.
http://forum.xbmc.org/showthread.php?ti ... pid1185910In the meantime, the patch I posted is the only thing that I could find that would make the plugin work. It definitely isn't a long term solution.
Re: Veetle.com

Posted:
Thu Sep 13, 2012 10:59 am
by trigu75
ok ..
actually on xbmc forum they found a way to to a good fix , they wrote a proxy plugin that changes the malformed header before it is loaded by the player , no codec patvhing is needed ..
I guess the same should be done here
this is their proxy if any one knows how to get this inside serviio
https://www.box.com/s/v23qdvyak2b1543q7c7o
Re: Veetle.com

Posted:
Fri Sep 14, 2012 7:39 am
by trigu75
wanted to update ..
I'm getting there .... doing some tests at this moments ..
this is the log of the proxy running on my nas drive
and the TV plays fine the stream
python akamaiSecureHD.py
LocalProxy Starts - 192.168.0.15:64653
LocalProxy: Serving GET request...
request_path: veetle/http://213.254.202.20/flv/4ebae8f905fa3
realpath:
http://213.254.202.20/flv/4ebae8f905fa3fURL:
http://213.254.202.20/flv/4ebae8f905fa3192.168.0.67 - - [14/Sep/2012 10:29:06] "GET /veetle/http://213.254.202.20/flv/4ebae8f905fa3 HTTP/1.1" 200 -
LocalProxy: Sending headers...
LocalProxy: Sending data...
192.168.0.67 is my samsung TV
Re: Veetle.com

Posted:
Sun Sep 16, 2012 11:13 pm
by zip
the plugins work on a different level than directly manipulating the streams, so the proxy cannot be incorporated into a plugin