diff options
-rw-r--r-- | CONTRIBUTORS | 4 | ||||
-rw-r--r-- | HISTORY | 16 | ||||
-rw-r--r-- | Makefile | 4 | ||||
-rw-r--r-- | README | 96 | ||||
-rw-r--r-- | client/device.c | 7 | ||||
-rw-r--r-- | client/setup.c | 8 | ||||
-rw-r--r-- | client/setup.h | 3 | ||||
-rw-r--r-- | i18n.c | 1233 | ||||
-rw-r--r-- | remux/extern.c | 3 | ||||
-rw-r--r-- | server/server.h | 5 | ||||
-rw-r--r-- | server/setup.c | 4 | ||||
-rw-r--r-- | streamdev-client.c | 4 | ||||
-rwxr-xr-x | streamdev/externremux.sh | 48 | ||||
-rw-r--r-- | streamdev/streamdevhosts.conf (renamed from streamdevhosts.conf.example) | 0 |
14 files changed, 886 insertions, 549 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 6f9c812..c6f4e0a 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -24,6 +24,7 @@ Rolf Ahrenberg for suggesting a fix of the Makefile's default target for a TS PAT repacker based on Petri Laine's VDR TS recording patch for making it possible to pass parameters to externremux.sh + for removing pre VDR 1.4 legacy code Rantanen Teemu for providing vdr-incompletesections.diff @@ -70,3 +71,6 @@ Olli Lammi Joerg Pulz for his FreeBSD compatibility patch + +tobi + for pointing to unused files in the libdvbmpeg directory @@ -1,6 +1,22 @@ VDR Plugin 'streamdev' Revision History --------------------------------------- +2008-04-07: Branched v0_4 + +- changed location of streamdevhosts.conf to VDRCONFDIR/plugins/streamdev +- changed externremux.sh's default location to VDRCONFDIR/plugins/streamdev +- added sample externremux.sh from http://www.vdr-wiki.de/ +- stop providing channels after client has been disabled at runtime +- added logging of the client device's card index +- changed default suspend mode to "Always suspended" +- added "Hide Mainmenu Entry" setup option on client +- resurrected clients "Suspend Server" menu item as its mainmenu entry +- dropped unused code for remote timers/recordings on client side +- dropped unused files client/{assembler,menu,remote}.[hc] +- dropped unused files in libdvbmpeg (reported by tobi) +- dropped patches for pre VDR 1.4 +- removed legacy code for pre VDR 1.4 (thanks to Rolf Ahrenberg) + 2008-03-31: Version 0.3.4 - added possibility to pass parameter to externremux.sh (thanks to Rolf @@ -1,7 +1,7 @@ # # Makefile for a Video Disk Recorder plugin # -# $Id: Makefile,v 1.14 2008/04/07 14:40:39 schmirl Exp $ +# $Id: Makefile,v 1.15 2008/04/07 14:50:32 schmirl Exp $ # The official name of this plugin. # This name will be used in the '-P...' option of VDR to load the plugin. @@ -41,7 +41,7 @@ PACKAGE = vdr-$(ARCHIVE) INCLUDES += -I$(VDRDIR)/include -I. -DEFINES += -D_GNU_SOURCE +DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"' ### The object files (add further files here): @@ -15,13 +15,17 @@ Contents: 1. Description 2. Installation -2.1 VDR 1.2.X -2.2 VDR 1.3.X and above +2.1 VDR 1.3.X and older +2.2 VDR 1.4.X and above +2.3 Updating from streamdev 0.3.x 3. Usage 3.1 Usage HTTP server 3.2 Usage VDR-to-VDR server 3.3 Usage VDR-to-VDR client 4. Other useful Plugins +4.1 Plugins for VDR-to-VDR clients +4.2 Plugins for Server +4.3 Alternatives 5. Known Problems @@ -57,7 +61,7 @@ the PROTOCOL file. 2. Installation: ---------------- -Let's say streamdev's version is 0.3.1 and vdr's version is 1.X.X. If you +Let's say streamdev's version is 0.4.0 and vdr's version is 1.X.X. If you use anything else please exchange the version numbers appropriately (this way I don't have to update this section all the times;) ). @@ -68,48 +72,62 @@ command line. What's important is that the client requests a channel using its Unique Channel ID. So, in order to find the channel at the server, it must have the same ID that is used on the client. You can achieve this by putting the server's -channels.conf on the client, preferably after scanning (in case you use 1.2.X -with AutoPID or 1.3.X). +channels.conf on the client, preferably after scanning. If you want to drive additional Input-Devices (with different sources) on the client, you can merge the channels.conf files. VDR will detect if the local device or the network device can receive the channels. -Last, but not least you have to put the provided streamdevhosts.conf.example -into the "plugins" subfolder of your config-directory (which is equal to your -video-directory if not specified otherwise), rename it to streamdevhosts.conf -and adjust it to your needs. The syntax is the same as for svdrphosts.conf, so -please consult VDR's documentation on how to fill that file, if you can't do -it on-the-fly. For example, if you didn't specify a separate config-directory, -and specified your video directory as "/video0", the file has to be put to -/video0/plugins/streamdevhosts.conf. +Last, but not least you have to copy the streamdev folder into the +"plugins/streamdev" subfolder of VDR's config-directory (which is equal to your +video-directory if not specified otherwise). For example, if you didn't specify +a separate config-directory, and specified your video directory as "/video0", +the directory has to be copied to /video0/plugins/streamdev. +The directory contains a file named streamdevhosts.conf which you must adjust +to your needs. The syntax is the same as for svdrphosts.conf, so please consult +VDR's documentation on how to fill that file, if you can't do it on-the-fly. -2.1 VDR 1.2.X: --------------- +There's also a sample externremux.sh script in this directory. It is used by +streamdev's external remux feature. The sample script uses mencoder. Please +check the script for further information. You can specify a different script +location with the -r parameter. The VDR commandline would then include a +"-P 'streamdev-server -r /usr/local/bin/remux.sh'". Note the additional quotes, +as otherwise -r will be passed to VDR and not to streamdev. -It is recommended that you apply a patch to VDR that improves thread -cancellation. You can work without it, but you _might_ have delays in switching -(especially when using VDR-to-VDR streaming) that are around three seconds. -cd vdr-1.X.X/PLUGINS/src -tar xvfz vdr-streamdev-0.3.1.tgz -ln -s streamdev-0.3.1 streamdev -cd ../.. -patch -p1 <PLUGINS/src/streamdev/patches/thread.c.diff -make [options, if necessary] vdr -make [options, if necessary] plugins +2.1 VDR 1.3.X and older: +------------------------ + +This version is not compatible to VDR releases older than 1.4.0. You will +probably need one of the streamdev-0.3.x releases. -2.2 VDR 1.3.X and above: +2.2 VDR 1.4.X and above: ------------------------ cd vdr-1.X.X/PLUGINS/src -tar xvfz vdr-streamdev-0.3.1.tgz -ln -s streamdev-0.3.1 streamdev +tar xvfz vdr-streamdev-0.4.0.tgz +ln -s streamdev-0.4.0 streamdev +cp -r streamdev/streamdev VDRCONFDIR/plugins/ cd ../.. make [options, if necessary] vdr make [options, if necessary] plugins +2.3 Updating from streamdev 0.3.x +---------------------------------- + +Starting with streamdev 0.4.0, all additional files are kept in a directory +called "streamdev" inside VDR's plugin config directory. This affects in +particular the file "streamdevhosts.conf". You will have to move it to its +new location: + +mv VDRCONFDIR/plugins/streamdevhosts.conf VDRCONFDIR/plugins/streamdev/ + +(Directory VDRCONFDIR/plugins/streamdev already exists, as you copied the +whole folder from the sources directory as suggested above, right?) + +The new default location for externremux.sh is also in this directory. + 3. Usage: --------- @@ -120,12 +138,12 @@ can run in one VDR instance, if necessary. The parameter "Suspend behaviour" allows you to specify how the server should react in case the client requests a channel that would require switching the -primary device (i.e. disrupt live-tv). If set to "Offer suspend mode" (the -default), you will have a new entry in the main menu. Activating that will put -the server into "Suspend Mode" (a picture is displayed on TV). Then, a client -may switch the primary card to wherever it likes to. While watching TV (Suspend -deactivated), the client may not switch the transponder on the primary device. -If you set the behaviour to "Always suspended", there will be normal live-tv +primary device (i.e. disrupt live-tv). If set to "Offer suspend mode", you will +have a new entry in the main menu. Activating that will put the server into +"Suspend Mode" (a picture is displayed on TV). Then, a client may switch the +primary card to wherever it likes to. While watching TV (Suspend deactivated), +the client may not switch the transponder on the primary device. If you set +the behaviour to "Always suspended" (the default), there will be normal live-tv on the server, but whenever a client decides to switch the transponder, the server will lose it's live-tv. Set to "Never suspended", the server always prevents the client from switching transponders. If you set "Client may @@ -198,6 +216,11 @@ no need to restart VDR. 3.3 Usage VDR-to-VDR client: ---------------------------- +Streamdev-client adds a "Suspend Server" item to VDR's mainmenu. With the +setup parameter "Hide Mainmenu Entry" you can hide this menu item if you don't +need it. "Suspend Server" is only useful if the server runs in "Offer suspend +mode" with "Client may suspend" enabled. + The parameter "Remote IP" uses an IP-Adress-Editor, where you can just enter the IP number with the number keys on your remote. After three digits (or if the next digit would result in an invalid IP adress, or if the first digit is @@ -214,8 +237,9 @@ setting "Start Client" to yes. It is disabled by default, because it wouldn't make much sense to start the client without specifying a server anyway. The client is activated after you push the OK button, so there's no need to restart VDR. Deactivation on-the-fly is not possible, so in order to deactivate the -client, you will have to restart VDR. All other settings can be changed without -restarting VDR. +client, you will have to restart VDR. However requests to switch channels will +be refused by streamdev-client once it has been deactivated. All other settings +can be changed without restarting VDR. The client will try to connect to the server (in case it isn't yet) whenever a remote channel is requested. Just activate the client and switch to a diff --git a/client/device.c b/client/device.c index 708b1dc..570bab2 100644 --- a/client/device.c +++ b/client/device.c @@ -1,5 +1,5 @@ /* - * $Id: device.c,v 1.17 2008/04/07 14:40:39 schmirl Exp $ + * $Id: device.c,v 1.18 2008/04/07 14:50:32 schmirl Exp $ */ #include "client/device.h" @@ -28,6 +28,7 @@ cStreamdevDevice::cStreamdevDevice(void) { m_Filters = new cStreamdevFilters; StartSectionHandler(); + isyslog("streamdev-client: got device number %d", CardIndex() + 1); m_Device = this; m_Pids = 0; @@ -78,6 +79,10 @@ bool cStreamdevDevice::ProvidesChannel(const cChannel *Channel, int Priority, bool res = false; bool prio = Priority < 0 || Priority > this->Priority(); bool ndr = false; + + if (!StreamdevClientSetup.StartClient) + return false; + Dprintf("ProvidesChannel, Channel=%s, Prio=%d\n", Channel->Name(), Priority); if (ClientSocket.DataSocket(siLive) != NULL diff --git a/client/setup.c b/client/setup.c index 31e20ad..5c04c61 100644 --- a/client/setup.c +++ b/client/setup.c @@ -1,5 +1,5 @@ /* - * $Id: setup.c,v 1.4 2008/04/07 14:40:40 schmirl Exp $ + * $Id: setup.c,v 1.5 2008/04/07 14:50:32 schmirl Exp $ */ #include <vdr/menuitems.h> @@ -15,6 +15,7 @@ cStreamdevClientSetup::cStreamdevClientSetup(void) { RemotePort = 2004; StreamFilters = false; SyncEPG = false; + HideMenuEntry = false; strcpy(RemoteIp, ""); } @@ -29,6 +30,7 @@ bool cStreamdevClientSetup::SetupParse(const char *Name, const char *Value) { else if (strcmp(Name, "RemotePort") == 0) RemotePort = atoi(Value); else if (strcmp(Name, "StreamFilters") == 0) StreamFilters = atoi(Value); else if (strcmp(Name, "SyncEPG") == 0) SyncEPG = atoi(Value); + else if (strcmp(Name, "HideMenuEntry") == 0) HideMenuEntry = atoi(Value); else return false; return true; } @@ -36,6 +38,7 @@ bool cStreamdevClientSetup::SetupParse(const char *Name, const char *Value) { cStreamdevClientMenuSetupPage::cStreamdevClientMenuSetupPage(void) { m_NewSetup = StreamdevClientSetup; + AddBoolEdit (tr("Hide Mainmenu Entry"),m_NewSetup.HideMenuEntry); AddBoolEdit (tr("Start Client"), m_NewSetup.StartClient); AddIpEdit (tr("Remote IP"), m_NewSetup.RemoteIp); AddShortEdit(tr("Remote Port"), m_NewSetup.RemotePort); @@ -51,8 +54,6 @@ void cStreamdevClientMenuSetupPage::Store(void) { if (m_NewSetup.StartClient != StreamdevClientSetup.StartClient) { if (m_NewSetup.StartClient) cStreamdevDevice::Init(); - else - Skins.Message(mtInfo, tr("Please restart VDR to activate changes")); } SetupStore("StartClient", m_NewSetup.StartClient); @@ -63,6 +64,7 @@ void cStreamdevClientMenuSetupPage::Store(void) { SetupStore("RemotePort", m_NewSetup.RemotePort); SetupStore("StreamFilters", m_NewSetup.StreamFilters); SetupStore("SyncEPG", m_NewSetup.SyncEPG); + SetupStore("HideMenuEntry", m_NewSetup.HideMenuEntry); StreamdevClientSetup = m_NewSetup; diff --git a/client/setup.h b/client/setup.h index c1908e0..e220c22 100644 --- a/client/setup.h +++ b/client/setup.h @@ -1,5 +1,5 @@ /* - * $Id: setup.h,v 1.3 2008/04/07 14:27:28 schmirl Exp $ + * $Id: setup.h,v 1.4 2008/04/07 14:50:32 schmirl Exp $ */ #ifndef VDR_STREAMDEV_SETUPCLIENT_H @@ -17,6 +17,7 @@ struct cStreamdevClientSetup { int RemotePort; int StreamFilters; int SyncEPG; + int HideMenuEntry; }; extern cStreamdevClientSetup StreamdevClientSetup; @@ -1,5 +1,5 @@ /* - * $Id: i18n.c,v 1.7 2008/04/07 14:40:39 schmirl Exp $ + * $Id: i18n.c,v 1.8 2008/04/07 14:50:32 schmirl Exp $ */ #include "i18n.h" @@ -7,545 +7,780 @@ const char *i18n_name = NULL; const tI18nPhrase Phrases[] = { - { "VDR Streaming Server", // English - "VDR Streaming Server", // Deutsch - "", // Slovenski - "", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "VDR-suoratoistopalvelin", // suomi - "", // Polski - "", // Español - "", // Ellinika / Greek - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Catala - "" // Russian + { "VDR Streaming Server", // English + "VDR Streaming Server", // Deutsch + "", // Slovenski + "", // Italiano + "", // Nederlands + "", // Português + "", // Français + "", // Norsk + "VDR-suoratoistopalvelin", // suomi + "", // Polski + "", // Español + "", // Ellinika / Greek + "", // Svenska + "", // Romaneste + "", // Magyar + "", // Catala + "", // Russian + "", // Hrvatski + "", // Eesti + "", // Dansk + "", // Czech +#if VDRVERSNUM >= 10502 + "", // Türkçe +#endif }, - { "VTP Streaming Client", // English - "VTP Streaming Client", // Deutsch - "", // Slovenski - "", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "VTP-suoratoistoasiakas ", // suomi - "", // Polski - "", // Español - "", // Ellinika / Greek - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Catala - "" // Russian + { "VTP Streaming Client", // English + "VTP Streaming Client", // Deutsch + "", // Slovenski + "", // Italiano + "", // Nederlands + "", // Português + "", // Français + "", // Norsk + "VTP-suoratoistoasiakas ", // suomi + "", // Polski + "", // Español + "", // Ellinika / Greek + "", // Svenska + "", // Romaneste + "", // Magyar + "", // Catala + "", // Russian + "", // Hrvatski + "", // Eesti + "", // Dansk + "", // Czech +#if VDRVERSNUM >= 10502 + "", // Türkçe +#endif }, - { "Start VDR-to-VDR Server",// English - "VDR-zu-VDR Server starten",// Deutsch - "", // Slovenski - "Avvia il Server VDR-toVDR",// Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "Käynnistä VDR-palvelin", // suomi - "", // Polski - "", // Español - "", // Ellinika / Greek - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Catala - "" // Russian + { "Start VDR-to-VDR Server", // English + "VDR-zu-VDR Server starten", // Deutsch + "", // Slovenski + "Avvia il Server VDR-toVDR", // Italiano + "", // Nederlands + "", // Português + "", // Français + "", // Norsk + "Käynnistä VDR-palvelin", // suomi + "", // Polski + "", // Español + "", // Ellinika / Greek + "", // Svenska + "", // Romaneste + "", // Magyar + "", // Catala + "", // Russian + "", // Hrvatski + "", // Eesti + "", // Dansk + "", // Czech +#if VDRVERSNUM >= 10502 + "", // Türkçe +#endif }, { "Start HTTP Server", // English - "HTTP Server starten", // Deutsch - "", // Slovenski - "Avvia il Server HTTP", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "Käynnistä HTTP-palvelin", // suomi - "", // Polski - "", // Español - "", // Ellinika - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Catala - "" // Russian + "HTTP Server starten", // Deutsch + "", // Slovenski + "Avvia il Server HTTP", // Italiano + "", // Nederlands + "", // Português + "", // Français + "", // Norsk + "Käynnistä HTTP-palvelin", // suomi + "", // Polski + "", // Español + "", // Ellinika + "", // Svenska + "", // Romaneste + "", // Magyar + "", // Catala + "", // Russian + "", // Hrvatski + "", // Eesti + "", // Dansk + "", // Czech +#if VDRVERSNUM >= 10502 + "", // Türkçe +#endif }, - { "HTTP Streamtype", // English - "HTTP Streamtyp", // Deutsch - "", // Slovenski - "Tipo di Stream HTTP", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "HTTP-lähetysmuoto", // Suomi - "", // Polski - "", // Español - "", // Ellinika - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Catala - "" // Russian + { "HTTP Streamtype", // English + "HTTP Streamtyp", // Deutsch + "", // Slovenski + "Tipo di Stream HTTP", // Italiano + "", // Nederlands + "", // Português + "", // Français + "", // Norsk + "HTTP-lähetysmuoto", // Suomi + "", // Polski + "", // Español + "", // Ellinika + "", // Svenska + "", // Romaneste + "", // Magyar + "", // Catala + "", // Russian + "", // Hrvatski + "", // Eesti + "", // Dansk + "", // Czech +#if VDRVERSNUM >= 10502 + "", // Türkçe +#endif }, - { "Start Client", // English - "Client starten", // Deutsch - "", // Slovenski - "Avvia il Client", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "Käynnistä VDR-asiakas", // suomi - "", // Polski - "", // Español - "", // Ellinika - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Catala - "" // Russian + { "Start Client", // English + "Client starten", // Deutsch + "", // Slovenski + "Avvia il Client", // Italiano + "", // Nederlands + "", // Português + "", // Français + "", // Norsk + "Käynnistä VDR-asiakas", // suomi + "", // Polski + "", // Español + "", // Ellinika + "", // Svenska + "", // Romaneste + "", // Magyar + "", // Catala + "", // Russian + "", // Hrvatski + "", // Eesti + "", // Dansk + "", // Czech +#if VDRVERSNUM >= 10502 + "", // Türkçe +#endif }, - { "VDR-to-VDR Server Port",// English - "Port des VDR-zu-VDR Servers",// Deutsch - "", // Slovenski - "Porta del Server VDR-to-VDR",// Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "VDR-palvelimen portti", // Suomi - "", // Polski - "", // Español - "", // Ellinika - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Catala - "" // Russian + { "VDR-to-VDR Server Port", // English + "Port des VDR-zu-VDR Servers", // Deutsch + "", // Slovenski + "Porta del Server VDR-to-VDR", // Italiano + "", // Nederlands + "", // Português + "", // Français + "", // Norsk + "VDR-palvelimen portti", // Suomi + "", // Polski + "", // Español + "", // Ellinika + "", // Svenska + "", // Romaneste + "", // Magyar + "", // Catala + "", // Russian + "", // Hrvatski + "", // Eesti + "", // Dansk + "", // Czech +#if VDRVERSNUM >= 10502 + "", // Türkçe +#endif }, - { "HTTP Server Port", // English - "Port des HTTP Servers",// Deutsch - "", // Slovenski - "Porta del Server HTTP",// Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "HTTP-palvelimen portti", // suomi - "", // Polski - "", // Español - "", // Ellinika - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Catala - "" // Russian + { "HTTP Server Port", // English + "Port des HTTP Servers", // Deutsch + "", // Slovenski + "Porta del Server HTTP", // Italiano + "", // Nederlands + "", // Português + "", // Français + "", // Norsk + "HTTP-palvelimen portti", // suomi + "", // Polski + "", // Español + "", // Ellinika + "", // Svenska + "", // Romaneste + "", // Magyar + "", // Catala + "", // Russian + "", // Hrvatski + "", // Eesti + "", // Dansk + "", // Czech +#if VDRVERSNUM >= 10502 + "", // Türkçe +#endif }, - { "Maximum Number of Clients",// English - "Maximalanzahl an Clients",// Deutsch - "", // Slovenski - "Numero Massimo di Client",// Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "Suurin sallittu asiakkaiden määrä", // suomi - "", // Polski - "", // Español - "", // Ellinika - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Catala - "" // Russian + { "Maximum Number of Clients", // English + "Maximalanzahl an Clients", // Deutsch + "", // Slovenski + "Numero Massimo di Client", // Italiano + "", // Nederlands + "", // Português + "", // Français + "", // Norsk + "Suurin sallittu asiakkaiden määrä", // suomi + "", // Polski + "", // Español + "", // Ellinika + "", // Svenska + "", // Romaneste + "", // Magyar + "", // Catala + "", // Russian + "", // Hrvatski + "", // Eesti + "", // Dansk + "", // Czech +#if VDRVERSNUM >= 10502 + "", // Türkçe +#endif }, - { "Remote IP", // English + { "Remote IP", // English "IP der Gegenseite", // Deutsch - "", // Slovenski - "Indirizzo IP del Server",// Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "Etäkoneen IP-osoite", // suomi - "", // Polski - "", // Español - "", // Ellinika - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Catala - "" // Russian + "", // Slovenski + "Indirizzo IP del Server", // Italiano + "", // Nederlands + "", // Português + "", // Français + "", // Norsk + "Etäkoneen IP-osoite", // suomi + "", // Polski + "", // Español + "", // Ellinika + "", // Svenska + "", // Romaneste + "", // Magyar + "", // Catala + "", // Russian + "", // Hrvatski + "", // Eesti + "", // Dansk + "", // Czech +#if VDRVERSNUM >= 10502 + "", // Türkçe +#endif }, - { "Remote Port", // English - "Port der Gegenseite", // Deutsch - "", // Slovenski - "Porta del Server Remoto",// Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "Etäkoneen portti", // suomi - "", // Polski - "", // Español - "", // Ellinika - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Catala - "" // Russian + { "Remote Port", // English + "Port der Gegenseite", // Deutsch + "", // Slovenski + "Porta del Server Remoto", // Italiano + "", // Nederlands + "", // Português + "", // Français + "", // Norsk + "Etäkoneen portti", // suomi + "", // Polski + "", // Español + "", // Ellinika + "", // Svenska + "", // Romaneste + "", // Magyar + "", // Catala + "", // Russian + "", // Hrvatski + "", // Eesti + "", // Dansk + "", // Czech +#if VDRVERSNUM >= 10502 + "", // Türkçe +#endif }, { "Remote Streamtype", // English - "Streamtyp von Gegenseite",// Deutsch - "", // Slovenski - "Tipo di Stream", // Italiano (oppure Flusso ?) - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "Etäkoneen lähetysmuoto", // suomi - "", // Polski - "", // Español - "", // Ellinika - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Catala - "" // Russian + "Streamtyp von Gegenseite", // Deutsch + "", // Slovenski + "Tipo di Stream", // Italiano (oppure Flusso ?) + "", // Nederlands + "", // Português + "", // Français + "", // Norsk + "Etäkoneen lähetysmuoto", // suomi + "", // Polski + "", // Español + "", // Ellinika + "", // Svenska + "", // Romaneste + "", // Magyar + "", // Catala + "", // Russian + "", // Hrvatski + "", // Eesti + "", // Dansk + "", // Czech +#if VDRVERSNUM >= 10502 + "", // Türkçe +#endif }, - { "Common Settings", // English - "Allgemeines", // Deutsch - "", // Slovenski - "Settaggi Comuni", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "Yleiset asetukset", // suomi - "", // Polski - "", // Español - "", // Ellinika - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Catala - "" // Russian + { "Common Settings", // English + "Allgemeines", // Deutsch + "", // Slovenski + "Settaggi Comuni", // Italiano + "", // Nederlands + "", // Português + "", // Français + "", // Norsk + "Yleiset asetukset", // suomi + "", // Polski + "", // Español + "", // Ellinika + "", // Svenska + "", // Romaneste + "", // Magyar + "", // Catala + "", // Russian + "", // Hrvatski + "", // Eesti + "", // Dansk + "", // Czech +#if VDRVERSNUM >= 10502 + "", // Türkçe +#endif }, { "VDR-to-VDR Server", // English - "VDR-zu-VDR Server", // Deutsch - "", // Slovenski + "VDR-zu-VDR Server", // Deutsch + "", // Slovenski "Server VDR-to-VDR", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "VDR-palvelin", // suomi - "", // Polski - "", // Español - "", // Ellinika - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Catala - "" // Russian + "", // Nederlands + "", // Português + "", // Français + "", // Norsk + "VDR-palvelin", // suomi + "", // Polski + "", // Español + "", // Ellinika + "", // Svenska + "", // Romaneste + "", // Magyar + "", // Catala + "", // Russian + "", // Hrvatski + "", // Eesti + "", // Dansk + "", // Czech +#if VDRVERSNUM >= 10502 + "", // Türkçe +#endif }, - { "HTTP Server", // English - "HTTP Server", // Deutsch - "", // Slovenski - "Server HTTP", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "HTTP-palvelin", // suomi - "", // Polski - "", // Español - "", // Ellinika - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Catala - "" // Russian + { "HTTP Server", // English + "HTTP Server", // Deutsch + "", // Slovenski + "Server HTTP", // Italiano + "", // Nederlands + "", // Português + "", // Français + "", // Norsk + "HTTP-palvelin", // suomi + "", // Polski + "", // Español + "", // Ellinika + "", // Svenska + "", // Romaneste + "", // Magyar + "", // Catala + "", // Russian + "", // Hrvatski + "", // Eesti + "", // Dansk + "", // Czech +#if VDRVERSNUM >= 10502 + "", // Türkçe +#endif }, { "VDR-to-VDR Client", // English - "VDR-zu-VDR Client", // Deutsch - "", // Slovenski + "VDR-zu-VDR Client", // Deutsch + "", // Slovenski "Client VDR-to-VDR", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "VDR-asiakas", // suomi - "", // Polski - "", // Español - "", // Ellinika - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Catala - "" // Russian + "", // Nederlands + "", // Português + "", // Français + "", // Norsk + "VDR-asiakas", // suomi + "", // Polski + "", // Español + "", // Ellinika + "", // Svenska + "", // Romaneste + "", // Magyar + "", // Catala + "", // Russian + "", // Hrvatski + "", // Eesti + "", // Dansk + "", // Czech +#if VDRVERSNUM >= 10502 + "", // Türkçe +#endif }, - { "Please restart VDR to activate changes",// English - "Bitte starten Sie für die Änderungen VDR neu",// Deutsch - "", // Slovenski - "Riavviare VDR per attivare i cambiamenti",// Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "Aktivoi muutokset käynnistämällä VDR uudelleen", // suomi - "", // Polski - "", // Español - "", // Ellinika - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Catala - "" // Russian + { "Please restart VDR to activate changes", // English + "Bitte starten Sie für die Änderungen VDR neu", // Deutsch + "", // Slovenski + "Riavviare VDR per attivare i cambiamenti", // Italiano + "", // Nederlands + "", // Português + "", // Français + "", // Norsk + "Aktivoi muutokset käynnistämällä VDR uudelleen", // suomi + "", // Polski + "", // Español + "", // Ellinika + "", // Svenska + "", // Romaneste + "", // Magyar + "", // Catala + "", // Russian + "", // Hrvatski + "", // Eesti + "", // Dansk + "", // Czech +#if VDRVERSNUM >= 10502 + "", // Türkçe +#endif }, - { "Synchronize EPG", // English - "EPG synchronisieren", // Deutsch - "", // Slovenski - "", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "Päivitä ohjelmaopas", // suomi - "", // Polski - "", // Español - "", // Ellinika - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Catala - "" // Russian + { "Synchronize EPG", // English + "EPG synchronisieren", // Deutsch + "", // Slovenski + "", // Italiano + "", // Nederlands + "", // Português + "", // Français + "", // Norsk + "Päivitä ohjelmaopas", // suomi + "", // Polski + "", // Español + "", // Ellinika + "", // Svenska + "", // Romaneste + "", // Magyar + "", // Catala + "", // Russian + "", // Hrvatski + "", // Eesti + "", // Dansk + "", // Czech +#if VDRVERSNUM >= 10502 + "", // Türkçe +#endif }, - { "Suspend Live TV", // English + { "Suspend Live TV", // English "Live-TV pausieren", // Deutsch - "", // Slovenski - "", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "Pysäytä suora TV-lähetys", // suomi - "", // Polski - "", // Español - "", // Ellinika - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Catala - "" // Russian + "", // Slovenski + "", // Italiano + "", // Nederlands + "", // Português + "", // Français + "", // Norsk + "Pysäytä suora TV-lähetys", // suomi + "", // Polski + "", // Español + "", // Ellinika + "", // Svenska + "", // Romaneste + "", // Magyar + "", // Catala + "", // Russian + "", // Hrvatski + "", // Eesti + "", // Dansk + "", // Czech +#if VDRVERSNUM >= 10502 + "", // Türkçe +#endif }, { "Suspend behaviour", // English - "Pausierverhalten", // Deutsch - "", // Slovenski - "", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "Pysäytystoiminto", // suomi - "", // Polski - "", // Español - "", // Ellinika - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Catala - "" // Russian + "Pausierverhalten", // Deutsch + "", // Slovenski + "", // Italiano + "", // Nederlands + "", // Português + "", // Français + "", // Norsk + "Pysäytystoiminto", // suomi + "", // Polski + "", // Español + "", // Ellinika + "", // Svenska + "", // Romaneste + "", // Magyar + "", // Catala + "", // Russian + "", // Hrvatski + "", // Eesti + "", // Dansk + "", // Czech +#if VDRVERSNUM >= 10502 + "", // Türkçe +#endif }, { "Offer suspend mode", // English "Pausieren anbieten", // Deutsch - "", // Slovenski - "", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "tyrkytä", // suomi - "", // Polski - "", // Español - "", // Ellinika - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Catala - "" // Russian + "", // Slovenski + "", // Italiano + "", // Nederlands + "", // Português + "", // Français + "", // Norsk + "tyrkytä", // suomi + "", // Polski + "", // Español + "", // Ellinika + "", // Svenska + "", // Romaneste + "", // Magyar + "", // Catala + "", // Russian + "", // Hrvatski + "", // Eesti + "", // Dansk + "", // Czech +#if VDRVERSNUM >= 10502 + "", // Türkçe +#endif }, - { "Always suspended", // English - "Immer pausiert", // Deutsch - "", // Slovenski - "", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "aina", // suomi - "", // Polski - "", // Español - "", // Ellinika - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Catala - "" // Russian + { "Always suspended", // English + "Immer pausiert", // Deutsch + "", // Slovenski + "", // Italiano + "", // Nederlands + "", // Português + "", // Français + "", // Norsk + "aina", // suomi + "", // Polski + "", // Español + "", // Ellinika + "", // Svenska + "", // Romaneste + "", // Magyar + "", // Catala + "", // Russian + "", // Hrvatski + "", // Eesti + "", // Dansk + "", // Czech +#if VDRVERSNUM >= 10502 + "", // Türkçe +#endif }, - { "Never suspended", // English - "Nie pausiert", // Deutsch - "", // Slovenski - "", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "ei koskaan", // suomi - "", // Polski - "", // Español - "", // Ellinika - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Catala - "" // Russian + { "Never suspended", // English + "Nie pausiert", // Deutsch + "", // Slovenski + "", // Italiano + "", // Nederlands + "", // Português + "", // Français + "", // Norsk + "ei koskaan", // suomi + "", // Polski + "", // Español + "", // Ellinika + "", // Svenska + "", // Romaneste + "", // Magyar + "", // Catala + "", // Russian + "", // Hrvatski + "", // Eesti + "", // Dansk + "", // Czech +#if VDRVERSNUM >= 10502 + "", // Türkçe +#endif }, - { "Suspend Server", // English - "Server pausieren", // Deutsch - "", // Slovenski - "", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "Pysäytä palvelin", // suomi - "", // Polski - "", // Español - "", // Ellinika - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Catala - "" // Russian + { "Suspend Server", // English + "Server pausieren", // Deutsch + "", // Slovenski + "", // Italiano + "", // Nederlands + "", // Português + "", // Français + "", // Norsk + "Pysäytä palvelin", // suomi + "", // Polski + "", // Español + "", // Ellinika + "", // Svenska + "", // Romaneste + "", // Magyar + "", // Catala + "", // Russian + "", // Hrvatski + "", // Eesti + "", // Dansk + "", // Czech +#if VDRVERSNUM >= 10502 + "", // Türkçe +#endif }, - { "Server is suspended", // English - "Server ist pausiert", // Deutsch - "", // Slovenski - "", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "Palvelin on pysäytetty", // suomi - "", // Polski - "", // Español - "", // Ellinika - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Catala - "" // Russian + { "Server is suspended", // English + "Server ist pausiert", // Deutsch + "", // Slovenski + "", // Italiano + "", // Nederlands + "", // Português + "", // Français + "", // Norsk + "Palvelin on pysäytetty", // suomi + "", // Polski + "", // Español + "", // Ellinika + "", // Svenska + "", // Romaneste + "", // Magyar + "", // Catala + "", // Russian + "", // Hrvatski + "", // Eesti + "", // Dansk + "", // Czech +#if VDRVERSNUM >= 10502 + "", // Türkçe +#endif }, - { "Couldn't suspend Server!",// English - "Konnte Server nicht pausieren!",// Deutsch - "", // Slovenski - "", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "Palvelinta ei onnistuttu pysäyttämään!", // suomi - "", // Polski - "", // Español - "", // Ellinika - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Catala - "" // Russian + { "Couldn't suspend Server!", // English + "Konnte Server nicht pausieren!", // Deutsch + "", // Slovenski + "", // Italiano + "", // Nederlands + "", // Português + "", // Français + "", // Norsk + "Palvelinta ei onnistuttu pysäyttämään!", // suomi + "", // Polski + "", // Español + "", // Ellinika + "", // Svenska + "", // Romaneste + "", // Magyar + "", // Catala + "", // Russian + "", // Hrvatski + "", // Eesti + "", // Dansk + "", // Czech +#if VDRVERSNUM >= 10502 + "", // Türkçe +#endif }, { "Client may suspend", // English - "Client darf pausieren",// Deutsch - "", // Slovenski - "", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "Asiakas saa pysäyttää palvelimen", // suomi - "", // Polski - "", // Español - "", // Ellinika - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Catala - "" // Russian + "Client darf pausieren", // Deutsch + "", // Slovenski + "", // Italiano + "", // Nederlands + "", // Português + "", // Français + "", // Norsk + "Asiakas saa pysäyttää palvelimen", // suomi + "", // Polski + "", // Español + "", // Ellinika + "", // Svenska + "", // Romaneste + "", // Magyar + "", // Catala + "", // Russian + "", // Hrvatski + "", // Eesti + "", // Dansk + "", // Czech +#if VDRVERSNUM >= 10502 + "", // Türkçe +#endif }, - { "Bind to IP", // English - "",// Deutsch - "", // Slovenski - "", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "Sido osoitteeseen", // suomi - "", // Polski - "", // Español - "", // Ellinika - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Catala - "" // Russian + { "Bind to IP", // English + "", // Deutsch + "", // Slovenski + "", // Italiano + "", // Nederlands + "", // Português + "", // Français + "", // Norsk + "Sido osoitteeseen", // suomi + "", // Polski + "", // Español + "", // Ellinika + "", // Svenska + "", // Romaneste + "", // Magyar + "", // Catala + "", // Russian + "", // Hrvatski + "", // Eesti + "", // Dansk + "", // Czech +#if VDRVERSNUM >= 10502 + "", // Türkçe +#endif }, - { "Filter Streaming", // English - "",// Deutsch - "", // Slovenski - "", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "Suodatetun tiedon suoratoisto", // suomi - "", // Polski - "", // Español - "", // Ellinika - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Catala - "" // Russian + { "Filter Streaming", // English + "", // Deutsch + "", // Slovenski + "", // Italiano + "", // Nederlands + "", // Português + "", // Français + "", // Norsk + "Suodatetun tiedon suoratoisto", // suomi + "", // Polski + "", // Español + "", // Ellinika + "", // Svenska + "", // Romaneste + "", // Magyar + "", // Catala + "", // Russian + "", // Hrvatski + "", // Eesti + "", // Dansk + "", // Czech +#if VDRVERSNUM >= 10502 + "", // Türkçe +#endif }, - { "Streaming active", // English - "Streamen im Gange",// Deutsch - "", // Slovenski - "", // Italiano - "", // Nederlands - "", // Português - "", // Français - "", // Norsk - "Suoratoistopalvelin aktiivinen", // suomi - "", // Polski - "", // Español - "", // Ellinika - "", // Svenska - "", // Romaneste - "", // Magyar - "", // Catala - "" // Russian + { "Streaming active", // English + "Streamen im Gange", // Deutsch + "", // Slovenski + "", // Italiano + "", // Nederlands + "", // Português + "", // Français + "", // Norsk + "Suoratoistopalvelin aktiivinen", // suomi + "", // Polski + "", // Español + "", // Ellinika + "", // Svenska + "", // Romaneste + "", // Magyar + "", // Catala + "", // Russian + "", // Hrvatski + "", // Eesti + "", // Dansk + "", // Czech +#if VDRVERSNUM >= 10502 + "", // Türkçe +#endif }, + { "Hide Mainmenu Entry", // English + "Hauptmenüeintrag verstecken", // Deutsch + "", // Slovenski + "", // Italiano + "", // Nederlands + "", // Português + "", // Français + "", // Norsk + "Piilota valinta päävalikosta", // suomi + "", // Polski + "", // Español + "", // Ellinika + "", // Svenska + "", // Romaneste + "", // Magyar + "", // Catala + "", // Russian + "", // Hrvatski + "", // Eesti + "", // Dansk + "", // Czech +#if VDRVERSNUM >= 10502 + "", // Türkçe +#endif + }, { NULL } }; diff --git a/remux/extern.c b/remux/extern.c index e137c4a..cebaa2c 100644 --- a/remux/extern.c +++ b/remux/extern.c @@ -1,4 +1,5 @@ #include "remux/extern.h" +#include "server/server.h" #include "server/streamer.h" #include <vdr/tools.h> #include <sys/types.h> @@ -6,7 +7,7 @@ #include <signal.h> #include <unistd.h> -const char *g_ExternRemux = "/root/externremux.sh"; +const char *g_ExternRemux = EXTERNREMUXPATH; class cTSExt: public cThread { private: diff --git a/server/server.h b/server/server.h index af574f5..be74d51 100644 --- a/server/server.h +++ b/server/server.h @@ -1,5 +1,5 @@ /* - * $Id: server.h,v 1.2 2005/05/09 20:22:29 lordjaxom Exp $ + * $Id: server.h,v 1.3 2008/04/07 14:50:33 schmirl Exp $ */ #ifndef VDR_STREAMDEV_SERVER_H @@ -10,7 +10,8 @@ #include "server/component.h" #include "server/connection.h" -#define STREAMDEVHOSTSPATH (*AddDirectory(cPlugin::ConfigDirectory(), "streamdevhosts.conf")) +#define EXTERNREMUXPATH (*AddDirectory(cPlugin::ConfigDirectory(PLUGIN_NAME_I18N), "externremux.sh")) +#define STREAMDEVHOSTSPATH (*AddDirectory(cPlugin::ConfigDirectory(PLUGIN_NAME_I18N), "streamdevhosts.conf")) class cStreamdevServer: public cThread { private: diff --git a/server/setup.c b/server/setup.c index 2589fec..4b43adf 100644 --- a/server/setup.c +++ b/server/setup.c @@ -1,5 +1,5 @@ /* - * $Id: setup.c,v 1.2 2005/05/09 20:22:29 lordjaxom Exp $ + * $Id: setup.c,v 1.3 2008/04/07 14:50:33 schmirl Exp $ */ #include <vdr/menuitems.h> @@ -17,7 +17,7 @@ cStreamdevServerSetup::cStreamdevServerSetup(void) { StartHTTPServer = true; HTTPServerPort = 3000; HTTPStreamType = stPES; - SuspendMode = smOffer; + SuspendMode = smAlways; AllowSuspend = false; strcpy(VTPBindIP, "0.0.0.0"); strcpy(HTTPBindIP, "0.0.0.0"); diff --git a/streamdev-client.c b/streamdev-client.c index 1f03733..340ff52 100644 --- a/streamdev-client.c +++ b/streamdev-client.c @@ -3,7 +3,7 @@ * * See the README file for copyright information and how to reach the author. * - * $Id: streamdev-client.c,v 1.4 2008/04/07 14:40:39 schmirl Exp $ + * $Id: streamdev-client.c,v 1.5 2008/04/07 14:50:32 schmirl Exp $ */ #include "streamdev-client.h" @@ -42,7 +42,7 @@ void cPluginStreamdevClient::Housekeeping(void) { } const char *cPluginStreamdevClient::MainMenuEntry(void) { - return StreamdevClientSetup.StartClient ? tr("Suspend Server") : NULL; + return StreamdevClientSetup.StartClient && !StreamdevClientSetup.HideMenuEntry ? tr("Suspend Server") : NULL; } cOsdObject *cPluginStreamdevClient::MainMenuAction(void) { diff --git a/streamdev/externremux.sh b/streamdev/externremux.sh new file mode 100755 index 0000000..e2b4156 --- /dev/null +++ b/streamdev/externremux.sh @@ -0,0 +1,48 @@ +#!/bin/sh +# +# externremux.sh - sample remux script using mencoder for remuxing. +# +# Install this script as VDRCONFDIR/plugins/streamdev/externremux.sh +# +# The parameter STREAMQUALITY selects the default remux parameters. Adjust +# to your needs and point your web browser to http://servername:3000/extern/ +# To select different remux parameters on the fly, insert a semicolon and +# the name of the requested quality: http://servername:3000/extern;WLAN11/ + +# CONFIG START + STREAMQUALITY="DSL6000" # DSL{1,2,3,6}000, LAN10, WLAN{11,54}, IPAQ + TMP=/tmp/externremux-${RANDOM:-$$} + MENCODER=mencoder +# CONFIG END + +mkdir -p $TMP +mkfifo $TMP/out.avi +(trap "rm -rf $TMP" EXIT HUP INT TERM ABRT; cat $TMP/out.avi) & + +case ${1:-$STREAMQUALITY} in + DSL1000) exec $MENCODER -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=100 \ + -oac mp3lame -lameopts preset=15:mode=3 -vf scale=160:104 \ + -o $TMP/out.avi -- - &>$TMP/out.log ;; + DSL2000) exec $MENCODER -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=128 \ + -oac mp3lame -lameopts preset=15:mode=3 -vf scale=160:104 \ + -o $TMP/out.avi -- - &>$TMP/out.log ;; + DSL3000) exec $MENCODER -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=250 \ + -oac mp3lame -lameopts preset=15:mode=3 -vf scale=320:208 \ + -o $TMP/out.avi -- - &>$TMP/out.log ;; + DSL6000) exec $MENCODER -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=350 \ + -oac mp3lame -lameopts preset=15:mode=3 -vf scale=320:208 \ + -o $TMP/out.avi -- - &>$TMP/out.log ;; + LAN10) exec $MENCODER -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=4096 \ + -oac mp3lame -lameopts preset=standard \ + -o $TMP/out.avi -- - &>$TMP/out.log ;; + WLAN11) exec $MENCODER -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=768 \ + -oac mp3lame -lameopts preset=standard -vf scale=640:408 \ + -o $TMP/out.avi -- - &>$TMP/out.log ;; + WLAN54) exec $MENCODER -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=2048 \ + -oac mp3lame -lameopts preset=standard \ + -o $TMP/out.avi -- - &>$TMP/out.log ;; + IPAQ) exec $MENCODER -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=350 \ + -oac mp3lame -lameopts preset=15:mode=3 -vf scale=320:208 \ + -o $TMP/out.avi -- - &>$TMP/out.log ;; + *) touch $TMP/out.avi ;; +esac diff --git a/streamdevhosts.conf.example b/streamdev/streamdevhosts.conf index 6c13598..6c13598 100644 --- a/streamdevhosts.conf.example +++ b/streamdev/streamdevhosts.conf |