From jori.hamalainen@teliasonera.com Tue Nov 4 15:31:28 2008 From: jori.hamalainen@teliasonera.com To: vdr@linuxtv.org Subject: Re: [vdr] Small VDR-streamdev patch for Popcorn Hour NMT Date: Tue, 04 Nov 2008 15:31:21 +0100 Message-ID: <9D4CAB5E5B58B743BC96CB3705D3D8CB04D40C04@SEHAN022MB.tcad.telia.se> In-Reply-To: <20081104120029.M11020@linogate.de> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============6388435408427037300==" --===============6388435408427037300== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit >> - Added automated audio track selection to default URL (+1) >Is it a problem for PCH to receive multiple audio tracks? PCH itself supports multiple audio (and subtitle) tracks at least on other formats - but I believe that with VDR it might not be working. I need to test this more when I get back to my PCH. http://www.hdd-player.de/syabas/showthread.php?tid=1777&page=1 I don't know if this URL recommendation is because of the initial tests made by some guys where they received video but not audio. I think this +1 as a default might become a problem with channels with multiple sound tracks. Maybe there could be additional feature that do not automatically add +1 if count.apid > 1? I made a new patch (attached at the end) - if 1 audio channel - add +1 because it would not harm PC clients - but enable pch to work - if more audio channels - do not add - PCH users needs to select language for that channel
  1. YLE TV1 fra dut
  2. YLE TV2
  3. MTV3
  4. >> - 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) > I wonder why these are needed? I think PCH uses filename based analyzing for stream type recognition. It was at the web forum above that URL like "/PES/*.vdr" should work. That is what I quickly implemented to see if this was required as streaming previously did not work. And with this patch I was able to stream channels. I don't know if this is the problem because streamdev is returning same MIME- type (video/mpeg) for all video streams and PCH needs to load some parser-modules based on actual stream. >> 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. > I filed a feature request in the streamdev bugtracker: > http://www.vdr-developer.org/mantisbt/view.php?id=494 > I wouldn't want to commit it to streamdev, if it's only a temporary solution > (until an MSP plugin is available). Drop me a line if you think it makes sense > to commit it anyway. MSP plug-in is very VERY far away. My interest on the MSP-plugin might increase if H.264 HD would work over streamdev to PCH. Without unable to see HD - I can use vanilla VDR to view TV with no additional work.. :) But with this patch the PCH and VDR universes would come closer. But not fully integrated. Without this patch if you are testing PCH/streamdev - you need to do static web pages to form URLs and TAGs needed by PCH. This patch allows to easily test with all channels found on VDR channels.conf. MSP plugin would need be like vdradmin to be fully usable. Changing vdradmin is a big task. XXV MSP-plugin would be other option (but I don't like it - too complicated to setup). Ideally MSP plugin should implement all vdradmin-am features - epg browsing - epg searches - setting timers - streaming live channels - streaming files (currently possible only via SMB-mount) With PCH & MSP you could have feature rich setup as a VDR front-end. Similar to vomp and mediamvp - but upto full HD 1080p support without any micro judder. And simultaneously have nice setup to view other HQ media on disk & network. So I guess if you see it possible to add this into tree - please do it. But if you see adding filename suffix a bad decision then don't. For my own experiments I can do this patching manually. And the patch is already out there for interested people to find. Now the problem is that h.264 streaming is not working. It should happen via TS-container? And for this probably streamdev should be modified. I cannot tell why it is not working as PCH does not give any clue on it. Just returns to menu. Best regards, Jori New patch is here (against 0.3.4): vdr server # diff menuHTTP.c menuHTTP.orig.c 201c201 < (std::string) "[TS] "); --- > (std::string) "[TS] "); 203c203 < (std::string) "[PS] "); --- > (std::string) "[PS] "); 205c205 < (std::string) "[PES] "); --- > (std::string) "[PES] "); 207c207 < (std::string) "[ES] "); --- > (std::string) "[ES] "); 339,341c339,341 < std::string suffix; < std::string autoaudio = ""; < int count = 0; --- > line += (std::string) "
  5. Number()) + "\">"; > line += (std::string) "GetChannelID().ToString() + "\">" + > current->Name() + ""; 342a343 > int count = 0; 345,349d345 < < if (count == 1) { < autoaudio = "+1"; < } < 352,369d347 < < 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; < } < < line += (std::string) "
  6. Number()) + "\">"; < line += (std::string) "GetChannelID().ToString() + autoaudio + suffix + "\" vod prebuf=5000000"; < < if (current->Number() < 1000) { < line += " TVID=\"" + (std::string) (const char*) itoa(current->Number()) + "\""; < } < line += (std::string) ">" + current->Name() + ""; < 376c354 < "+" + (const char*)itoa(index) + suffix + "\" class=\"apid\" vod>" + current->Alang(i) + ""; --- > "+" + (const char*)itoa(index) + "\" class=\"apid\">" + current->Alang(i) + ""; 380c358 < "+" + (const char*)itoa(index) + suffix + "\" class=\"dpid\" vod>" + current->Dlang(i) + ""; --- > "+" + (const char*)itoa(index) + "\" class=\"dpid\">" + current->Dlang(i) + ""; --===============6388435408427037300== Content-Type: application/x-pkcs7-signature Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" MIME-Version: 1.0 MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIUdDCCAyAw ggIIoAMCAQICAR0wDQYJKoZIhvcNAQEFBQAwOTELMAkGA1UEBhMCRkkxDzANBgNVBAoTBlNvbmVy YTEZMBcGA1UEAxMQU29uZXJhIENsYXNzMiBDQTAeFw0wMTA0MDYwNzI5NDBaFw0yMTA0MDYwNzI5 NDBaMDkxCzAJBgNVBAYTAkZJMQ8wDQYDVQQKEwZTb25lcmExGTAXBgNVBAMTEFNvbmVyYSBDbGFz czIgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCQF0o1ncrwDZbHRPoWN/xIvb1/ gC01O+FvqGepvwMcTYxvMkfVQWikEwTBNQyahEP8XB3/ibPoFxjNkV/7iePqv05dfBsm03V57eaE 41flrSnE9Doo56V7hDZps/1edr2jLZnTkE4jKH0YY/FUOyaddluXQrL/rvBO7N05lU6DBn/nSUDI xQGyVFpmHT38+ek8Cp6BuHDwAYvkI1R8yK74kB4AlnLUVM9hI7zq+50CldG2uXE6aQg/D7ThQseI 9T+YqKe6HOBxce9YV4FQelxrdEYOgwOYw46obvJ2Mm4ng8Jz89wY6LST6nVEawRgIHFXh53zvqCQ Iz2KJOHaIdvDAgMBAAGjMzAxMA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0OBAoECEqgqliE0148MAsG A1UdDwQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAWs6H+RZyFVdLHdmb56ImMOyTZ9/WLdI0r/c4 pc6rFrmrL3w1y6zQD7RMK/yA72uMkV82dvfbsxsZ6vSyEf1hcUS/KLM6Hb+zQ+ifv9wxCHGwnY3W NEcykMZlJPegSnwEc485bxeMcrW9S8h6+HuDwyhOnAnqZz+yZwQbwxTa+OdJJJHQHWr6YTnva+ch dQYH2BK0ISBwQnGB2jyaNr6mWw1qbJofkXv5+e9Cuk5OnswMjZTc2UWcXuxCUGOu9F3EsRLcyjuo Lp0UWgV1t+zXY+K6NbYECJHo2p2c9ma1GKwKplQmNDPSG8HUfxo6jguqMm7b/E8ln9kyx5ZacKzf TDCCBSswggMToAMCAQICEQCvI2UzAU9ijk6656fbytf/MA0GCSqGSIb3DQEBBQUAMDgxFDASBgNV BAoMC1RlbGlhU29uZXJhMSAwHgYDVQQDDBdUZWxpYVNvbmVyYSBFbWFpbCBDQSB2MzAeFw0wODA4 MjkxMjE0MDhaFw0wOTA4MjkxMjE0MDdaMHYxFDASBgNVBAoMC1RlbGlhU29uZXJhMRswGQYDVQQD DBJKb3JpIEjDpG3DpGzDpGluZW4xETAPBgNVBAUTCGhhbWFsam8zMS4wLAYJKoZIhvcNAQkBFh9q b3JpLmhhbWFsYWluZW5AdGVsaWFzb25lcmEuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB gQC8XAd1C77NsvljeBlsVsnC01h7Yp70jo8aagxgueKKFdom0K5ZTxE5+7MxA8DGhxtN1bwiokXx u+cFCaj/DUtJ1tuTUCRuDTo9mOQDMUTaGUNjoHM4ruZwDWyMie6guAn+EvojYEUlw1QXuAWi0Ipu uW4kC/xHqXV/cb0fEjg16QIDAQABo4IBdDCCAXAwgcUGA1UdHwSBvTCBujCBt6CBtKCBsYZybGRh cDovL2NybC0xLnRydXN0LnRlbGlhc29uZXJhLmNvbS9jbj1UZWxpYVNvbmVyYSUyMEVtYWlsJTIw Q0ElMjB2MyxvPVRlbGlhU29uZXJhP2NlcnRpZmljYXRlcmV2b2NhdGlvbmxpc3Q7YmluYXJ5hjto dHRwOi8vY3JsLTIudHJ1c3QudGVsaWFzb25lcmEuY29tL3RlbGlhc29uZXJhZW1haWxjYXYzLmNy bDBUBggrBgEFBQcBAQRIMEYwRAYIKwYBBQUHMAKGOGh0dHA6Ly9jYS50cnVzdC50ZWxpYXNvbmVy YS5jb20vVGVsaWFTb25lcmFFbWFpbENBdjMuY2VyMCoGA1UdEQQjMCGBH2pvcmkuaGFtYWxhaW5l bkB0ZWxpYXNvbmVyYS5jb20wFAYDVR0gBA0wCzAJBgcqhXAjBAIKMA4GA1UdDwEB/wQEAwIFoDAN BgkqhkiG9w0BAQUFAAOCAgEAgj42TkIcLSTkD7eMacifWTTANFqMVppFA8Dxo094pNx+2UiGf55S izTA6WeoZ/cbrXmJUqLr+WYAIVeG0w6vPosbWrLXPa1GY7EU5UQFPNEAYomKlg+LvuMo4p82hGvU bbUogtQeZmaknZeMF+sMyLSUaRh1QCZ6aKlRDELcxwrtcnYtrf9luacSirTKjwqdh6gdxCMwWEuz RI0DPDjHcFNXvlJH9+8x4MeHZLWK1DfU6wcfdGBGfGfIvpGeDRydnlTz7mzGUsKzwx4fJkd7lnNk G2ER0f2y4wk8JfVjaFXysjjdwGqvYcuLW1V07UQyWpRUjQxTfGacNckWYq7+8z3cK8D4Wh2f+i2S 5FI7JBbIW5m5m1u5kV+Z0sj5oe4EAGwtcXdqmWqgftzoZ+i93hHM9v8dd83ROiYb67xvgOPrMV78 wV3PZSlBRizF0qLRW7bqKXcm+fBChL2LBKMQIZqZkAYWYbpDCW560PlWm+ChB6zrRmkKaf886NaG GOQS73uAGJERtgoQcxTrHvGkr6lEgTLcdcTdAl8RYxEPn/jiPOhWeU1yc6ql0DQgeTUOuKIft287 Nj26F0ibySEZN/DJbQ77Te0UPlKwMVhW1idlcqidvyfDcOxd0H2q+SBhdYpb8k+F96uaxFTWAKvK CCCqZNJkGe3T4zO9haEkVQowggV9MIIEZaADAgECAhEA0eA+W0jtx54JP0De4WHDizANBgkqhkiG 9w0BAQUFADA5MQswCQYDVQQGEwJGSTEPMA0GA1UEChMGU29uZXJhMRkwFwYDVQQDExBTb25lcmEg Q2xhc3MyIENBMB4XDTA3MTAxODEyNTIwMVoXDTE5MTAxNzA1MDQxMVowNzEUMBIGA1UECgwLVGVs aWFTb25lcmExHzAdBgNVBAMMFlRlbGlhU29uZXJhIFJvb3QgQ0EgdjEwggIiMA0GCSqGSIb3DQEB AQUAA4ICDwAwggIKAoICAQDCvusn8CGj82kmVX6dxVUWkVz97yG/U4B6LdKRjGMx8Owk8MOl0nJ8 EG30N7fl5nx56oy1gouuSLasANxldewqTV/Bh/UgZSuBqEc+iSOVMBaQf+hXB0jnGa6/RWexNxsG Kv7e+ax9g/teuuSPl2e+S46NZAdXOFVpNDY9E0jvT+LTZh6kzxq3XjYz1LQGvRgB/XeEUABF9Yxd 6CO8fv414e1Qe6kwjRnTCY5oZ12/PJcYU7spYsXKXnLBx5bU2y2gtB9pA+zq4lDxDDzwrPNTLfAc 9e1sOTlzgBbIUrAjzeA+3N08R6C7NYrimGiLvuW/cu7S+qXtEu38mBipJnbcKEsQIBzTfxZ3Le1v gPdJu1MFu11ox9TIdRY/iVqL9xdH1Ezx0ol5Pk09mKhh3joe0vheA+DByRyM041N05U2szdfY2Ob MxTwLSZrU3yJjDLCbuw9IQA5yaFo4lCDLrA6K/M2oKwv5G9hwlEJOT6LU7m7Z9rcU7l2WTadQ+Ug 4D0yYIUiUbfHM7vdFS+keKYHe4FGNgSG3Xk1x5UsO7CjFzXlcx+0XFnv2uoQZXt60H+fs7QqNztw i5tbuSu37LJREpdTKVrU8BIQ3E8CuxKSL2LUP2lDfA3W/Fh1AYidWBZL3rqQ/0cBiQZq9l+ykGqz AqYCiL+zR34q2dX6aHg1TQIDAQABo4IBgDCCAXwwTgYIKwYBBQUHAQEEQjBAMD4GCCsGAQUFBzAC hjJodHRwOi8vY2EudHJ1c3QudGVsaWFzb25lcmEuY29tL3NvbmVyYWNsYXNzMmNhLmNlcjAPBgNV HRMBAf8EBTADAQH/MBkGA1UdIAQSMBAwDgYMKwYBBAGCDwIDAQECMA4GA1UdDwEB/wQEAwIBBjAd BgNVHQ4EFgQU8I9ZOACz9Y+algzV6/p7qhfoExIwgbkGA1UdHwSBsTCBrjBvoG2ga4ZpbGRhcDov L2NybC0xLnRydXN0LnRlbGlhc29uZXJhLmNvbS9jbj1Tb25lcmElMjBDbGFzczIlMjBDQSxvPVNv bmVyYSxjPUZJP2NlcnRpZmljYXRlcmV2b2NhdGlvbmxpc3Q7YmluYXJ5MDugOaA3hjVodHRwOi8v Y3JsLTIudHJ1c3QudGVsaWFzb25lcmEuY29tL3NvbmVyYWNsYXNzMmNhLmNybDATBgNVHSMEDDAK gAhKoKpYhNNePDANBgkqhkiG9w0BAQUFAAOCAQEAey9m1RoW+KuhWVLbBlTW53h4fkOTpq13sk3w B8VgIPdD1ZQ4AGNPnAZOKD8Ti/WVRp4XnNO9AnYhlh8K6qihEdbgwth/ewU694wcxpfZn/+NzMW2 OzSQfSxzDjXw3hflfvGzCs4gXXna9B6HCrirQW827woTpAzmgCmZKglVxAuPsdQFMKsePvreg92k pwt/tQlrdvgF316yM4xOqQCqmXJyX6yNpqiGrZgLWl71tdiPE8mUfhESDHDlRiGuDGH8cUqc9E0k s/eA1nyytw5Sol2sU/k6qJN8h9cGYQvuqv9dbzyy+dnD1pNh3IhQ2spStrt8GrXMZpPJGsTRLeiu czCCBpwwggSEoAMCAQICEEppZFGyE+rrTIZ33R7lI3EwDQYJKoZIhvcNAQEFBQAwNzEUMBIGA1UE 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 AAAAAAA= --===============6388435408427037300==--