[vdr] Small VDR-streamdev patch for Popcorn Hour NMT
jori.hamalainen at teliasonera.com
jori.hamalainen at teliasonera.com
Tue Nov 4 11:59:10 CET 2008
Hi,
directly Popcorn cannot stream from vdr-streamdev because streamdev server
does not provide necessary info by default. I used 0.3.4 as a basis - I
believe this patch would work for 0.4 without modification.
With this patch I've been able to stream SD stuff. Need more investigating
for HD H.264 stuff, I can hear sound but no picture.
More info about NMT (Networked media tank) devices etc:
http://www.networkedmediatank.com/wiki/index.php/Main_Page
What is done on this patch:
- Add remote control shortcuts (red, green, yellow and blue) to select
wanted stream format (Yellow worked for me with PCH)
- Added automated audio track selection to default URL (+1)
- Added suffix for URL (TS w/ "C-123-123-123.ts or S-12-123-123.ts", ".ps",
".vdr" for PES and ".mpeg" for ES, extern no suffix)
- Added 5000000 bytes prebuf-tag to shorten prebuffer time
- Added remove control shortcut for selecting channels (channel number <
1000)
- Added "vod" tag for PCH to recognize "video-on-demand"
These small enhancements are inside anchor tag and they do not affect other
browsers, just MSP-compatible browsers - so in theory this patch could be
built-in for streamdev. But naturally my vision is to have own GUI for MSP.
But first need to verify that streaming works - and it does. Just some HD
fix is needed.
On PCH menu set Webservices URL: http://[your.VDR]:3000/PES/all.html
(This should be the default - you can change formats easily with RGYB
buttons)
Actual web page is not beautiful compared what you can do with MSP plugins -
but this is a start.
Best regards,
Jori
-----------
vdr server # diff /usr/src/vdr/PLUGINS/src/streamdev/server/menuHTTP.c
/usr/src/vdr_plugins/streamdev-0.3.4/server/menuHTTP.c
201c201
< (std::string) "[<a href=\"/TS/" + self + "\"
TVID=\"RED\">TS</a>] ");
---
> (std::string) "[<a href=\"/TS/" + self + "\">TS</a>]
");
203c203
< (std::string) "[<a href=\"/PS/" + self + "\"
TVID=\"GREEN\">PS</a>] ");
---
> (std::string) "[<a href=\"/PS/" + self + "\">PS</a>]
");
205c205
< (std::string) "[<a href=\"/PES/" + self + "\"
TVID=\"YELLOW\">PES</a>] ");
---
> (std::string) "[<a href=\"/PES/" + self +
"\">PES</a>] ");
207c207
< (std::string) "[<a href=\"/ES/" + self + "\"
TVID=\"BLUE\">ES</a>] ");
---
> (std::string) "[<a href=\"/ES/" + self + "\">ES</a>]
");
339,349d338
< std::string suffix;
<
< switch (streamType) {
< case stTS: suffix = (std::string) ".ts"; break;
< case stPS: suffix = (std::string) ".ps"; break;
< case stPES: suffix = (std::string) ".vdr"; break;
< case stES: suffix = (std::string) ".mpeg"; break;
< default:
< case stExtern: suffix = (std::string) ""; break;
< }
<
351,357c340,341
< line += (std::string) "<A href=\"" + (std::string)
current->GetChannelID().ToString() + "+1" + suffix + "\" vod
prebuf=5000000";
<
< if (current->Number() < 1000) {
< line += " TVID=\"" + (std::string) (const char*)
itoa(current->Number()) + "\"";
< }
<
< line += (std::string) ">" + current->Name() + "</A>";
---
> line += (std::string) "<a href=\"" + (std::string)
current->GetChannelID().ToString() + "\">" +
> current->Name() + "</a>";
370c354
< "+" + (const char*)itoa(index) +
suffix + "\" class=\"apid\" vod>" + current->Alang(i) + "</a>";
---
> "+" + (const char*)itoa(index) + "\"
class=\"apid\">" + current->Alang(i) + "</a>";
374c358
< "+" + (const char*)itoa(index) +
suffix + "\" class=\"dpid\" vod>" + current->Dlang(i) + "</a>";
---
> "+" + (const char*)itoa(index) + "\"
class=\"dpid\">" + current->Dlang(i) + "</a>";
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 5933 bytes
Desc: not available
Url : http://www.linuxtv.org/pipermail/vdr/attachments/20081104/97be49f3/attachment-0001.bin
More information about the vdr
mailing list