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://%5Byour.VDR%5D: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>";