Aufnahmeverzeichnis wird ignoriert

Das Original Benutzerinterface Neutrino-SD incl. zapit, sectionsd, yWeb etc...
cedbox2
Beiträge: 2
Registriert: Samstag 14. Juli 2007, 07:56

Aufnahmeverzeichnis wird ignoriert

Beitrag von cedbox2 »

Nokia dbox2 Kabel mit aktuellem KW-Image (CVS-Stand 19.12.2007, yWeb 2.6.1)

NFS-Mountpoint auf externes NAS wird über /mnt/filme eingehängt.

Aufnahme funktioniert.

ABER: Ich würde gerne die Aufnahmen sortieren. Fernsehserien sollen in Unterverzeichnissen abgelegt werden: /mnt/filme/Serie1 , ...

Ich habe die Verzeichnisse angelegt und eingetragen unter dbox/Einstellungen/Aufnahme/Direktaufnahme/Aufnahmeverzeichnisse
und natürlich auch in den einzelnen Timern. Wird auch alles richtig angezeigt.

Trotzdem wird unter /mnt/filme gespeichert und nicht in den Unterverzeichnissen.

Hat jemand einen Tip?

Danke
cedbox2
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: Aufnahmeverzeichnis wird ignoriert

Beitrag von dbt »

cedbox2 hat geschrieben:Nokia dbox2 Kabel mit aktuellem KW-Image (CVS-Stand 19.12.2007, yWeb 2.6.1)
http://forum.tuxbox-cvs.sourceforge.net ... hp?t=46283
cedbox2
Beiträge: 2
Registriert: Samstag 14. Juli 2007, 07:56

Beitrag von cedbox2 »

OK, verstehe ich.

Kann jemand die Funktionsfähigkeit (Aufnahmeverzeichniswahl) mit einem aktuellen Yadi bestätigen?


cedbox2
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Beitrag von Tommy »

cedbox2 hat geschrieben:OK, verstehe ich.

Kann jemand die Funktionsfähigkeit (Aufnahmeverzeichniswahl) mit einem aktuellen Yadi bestätigen?


cedbox2
IMO funktioniert das bedauerlicherweise in keinem Image.
---------------------------
Alle weiteren Infos findest Du im WIKI
Bitte vor dem posten Boardregeln lesen und verstehen!
Wie erstelle ich ein Bootlog? Wo finde ich die FAQ?
-=HSKc=-Robby
Einsteiger
Einsteiger
Beiträge: 143
Registriert: Sonntag 25. Februar 2007, 20:33

Re: Aufnahmeverzeichnis wird ignoriert

Beitrag von -=HSKc=-Robby »

Gibt es bei den Aufnahmeverzeichnissen etwas neues?
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Re: Aufnahmeverzeichnis wird ignoriert

Beitrag von mb405 »

bei direktaufnahme gehts, da man dort das verzeichnis auswählen kann
beim timeraufnahmen gehts nich
log sagt
...
[neutrino.cpp] trying to mount /hdd/action
[neutrino.cpp] recording to /hdd
...
der thread is ja uralt ;)
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Re: Aufnahmeverzeichnis wird ignoriert

Beitrag von mb405 »

ich hab mir mal neutrino angeschaut :)
in der funktion void CNeutrinoApp::startNextRecording() steckt wohl der fehler ?
der nimmt zum aufnehmen immer das erste eingetragene verzeichnis in der liste
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Aufnahmeverzeichnis wird ignoriert

Beitrag von seife »

Macht mal einen ordentlichen bugreport:
- wie wurde konfiguriert?
- wie wurde bedient?
- was kam raus?
- was sollte rauskommen?

Dann schau ich es mir evtl. an. Momentan verstehe ich nicht mal, worum es geht ;-)
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Re: Aufnahmeverzeichnis wird ignoriert

Beitrag von mb405 »

also
wenn man sofortaufnahme macht, dann kann man wählen zwischen den aufnahmeverzeichnissen, welche man definiert hat.dorthin wird auch korrekt aufgenommen.
wenn man timer programmiert, und auch dort das aufnahmeverzeichnis einstellt, dann wird immer in das erste verzeichnis aufgenommen, welches in der aufnahmeliste steht.

so schauts bei sofortaufnahme aus
...
[neutrino] neutrino - recordmode on
[neutrino] doing channelsInit4Record
Stop
record time: 11
[mi] saveXml: /hdd/action/Britt/Britt_Britt.xml
[neutrino] neutrino - recordmode off
[neutrino] doing channelsInit
...
und so bei timeraufnahme
...
[neutrino.cpp] getFreeDiscSpaceGB 145
[neutrino.cpp] trying to mount /hdd/action
[neutrino.cpp] recording to /hdd
Record channel_id: 44100012ef4 epg: 44100012ef40151, apids 0x0 mode 1
fsk:0, Genre:16, Dauer: 25
[stream2file]: using 60 ringbuffers
[neutrino] neutrino - recordmode on
[neutrino] doing channelsInit4Record
Stop
record time: 27
[mi] saveXml: /hdd/Pok_mon/Pok_mon_.xml
[neutrino] neutrino - recordmode off
[neutrino] doing channelsInit
...
da siehste schön. bei trying to mount steht das verzeichnis welches ich angegeben habe im timer. bei recording to nimmt der das erste verfügbare verzeichnis, welches genug platz hat.
-=HSKc=-Robby
Einsteiger
Einsteiger
Beiträge: 143
Registriert: Sonntag 25. Februar 2007, 20:33

Re: Aufnahmeverzeichnis wird ignoriert

Beitrag von -=HSKc=-Robby »

Aaaaalso:
"Unter Einstellungen - Aufnahme - Direktaufnahme Einstellungen - Aufnahmeverzeichnis" kann man 10 verschiedene Verzeichnisse angeben.
Ich habe bei 0: /hdd/Filme und bei 1: /hdd/Filme/Serien eingetragen.
Wenn man einen Aufnahme-Timer erstellt, kann man unter Aufnahmeverzeichnis die bei den Direktaufnahme Einstellungen angegebenen Verzeichnisse auswählen.
Leider wird immer das Verzeichnis benutzt, das als erstes also bei 0: eingetragen ist. Also landen die aufgenommenen Serien im Verzeichnis Filme und nicht im Unterordner Serien...
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Re: Aufnahmeverzeichnis wird ignoriert

Beitrag von mb405 »

in kurzform richtig :)
er vergisst die variable recDir
ich hab also mal quickdirty experimentiert, und die dem neu erstellen lassen.

Code: Alles auswählen

if (doRecord)
				{
+					const char *recDir = strlen(nextRecordingInfo->recordingDir) > 0 ?
+					nextRecordingInfo->recordingDir : g_settings.recording_dir[0].c_str();
+					
					printf("[neutrino.cpp] recording to %s\n",recDir);
					CVCRControl::CFileDevice *fileDevice;
					if ((fileDevice = dynamic_cast<CVCRControl::CFileDevice*>(recordingdevice)) != NULL)
damit gehts :). aber ka ob das anderwitige auswirkungen hat :gruebel:
Zuletzt geändert von mb405 am Freitag 21. November 2008, 14:07, insgesamt 1-mal geändert.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Aufnahmeverzeichnis wird ignoriert

Beitrag von seife »

Das muss ich mir mal genauer anschauen, es sieht jedenfalls momentan ziemlich kaputt aus.
Er versucht wohl /hdd/action zu mounten, was nicht geht, wohl weil es kein eigener mountpoint ist oder so, und weil das nicht klappt, fällt er auf den ersten mountpoint zurück, was bei dir vermutlich /hdd ist.

Wenn man nur einen mountpoint hat, aber verschiedene Aufnahmeverzeichnisse, dann kann das nicht gehen. Denke ich zumindest. Die Frage ist, warum es mit der Direktaufnahme geht, aber mit der Timeraufnahme nicht. Das riecht nach 2x ähnlichem Code, der aufgeräumt werden könnte ;-)
-=HSKc=-Robby hat geschrieben:Aaaaalso:
"Unter Einstellungen - Aufnahme - Direktaufnahme Einstellungen - Aufnahmeverzeichnis"
HA! Da stehts ja: "Direktaufnahme Einstellungen". Da steht nichts von "Timeraufnahme Einstellungen!!!1!1elf!.

;-)
-=HSKc=-Robby
Einsteiger
Einsteiger
Beiträge: 143
Registriert: Sonntag 25. Februar 2007, 20:33

Re: Aufnahmeverzeichnis wird ignoriert

Beitrag von -=HSKc=-Robby »

seife hat geschrieben:HA! Da stehts ja: "Direktaufnahme Einstellungen". Da steht nichts von "Timeraufnahme Einstellungen!!!1!1elf!.

;-)
Meinste das wäre kein bug sondern ein Feature? :wink:

Ich hab es grade mal mit nem automount NFS-Verzeichnis probiert. Bei dem funktioniert es komischer Weise... :gruebel:
Liegt es daran, dass das nen eigener mount-Punkt ist?
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Re: Aufnahmeverzeichnis wird ignoriert

Beitrag von mb405 »

ja
aber mit meinen trick gehts auch :)
grad getestet
-=HSKc=-Robby
Einsteiger
Einsteiger
Beiträge: 143
Registriert: Sonntag 25. Februar 2007, 20:33

Re: Aufnahmeverzeichnis wird ignoriert

Beitrag von -=HSKc=-Robby »

@seife:

Ist der trick von mb405 etwas, was auch ins cvs könnte? Oder hast Du vor Dir das nochmal richtig vorzunehmen?

Hat man übrigens an der ersten Stelle den Ordner mit dem Unterverzeichnis, also 0: /hdd/Filme/Serien und bei 1: /hdd/Filme, dann nimmt er alles in /hdd/Filme/Serien auf...

Code: Alles auswählen

[neutrino] executing /var/tuxbox/config/recording.start
[neutrino.cpp] getFreeDiscSpaceGB 81
[neutrino.cpp] trying to mount /hdd/Filme/Serien
[neutrino.cpp] recording to /hdd/Filme/Serien
Record channel_id: 4530001445d epg: 4530001445d45a3, apids 0x1 mode 1
SPTS, queue 0 extended.
fsk:0, Genre:0, Dauer: 59

[stream2file]: using 50 ringbuffers
[stream2file] filename: '/hdd/Filme/Serien/TV_total_2008-11-25_235102.001.ts' myfilename: '/hdd/Filme/Serien/TV_total_2008-11-25_235102'
Stop
record time: 57 
[mi] saveXml: /hdd/Filme/Serien/TV_total_2008-11-25_235102.xml

[stream2file]: pthreads exit code: 1, dir: '/hdd/Filme/Serien', filename: 'TV_total_2008-11-25_235102' myfilename: '/hdd/Filme/Serien'
PES, queue 0 normal.
[neutrino] executing /var/tuxbox/config/recording.end
23:52:01.416 dmxCN: waking up again - requested from .change()
23:52:01.731 dmxCN: going to sleep...
23:52:01.732 eit_set_update_filter, servicekey = 0x4530001445d, current version 4
[neutrino] executing /var/tuxbox/config/recording.start
[neutrino.cpp] getFreeDiscSpaceGB 81
[neutrino.cpp] trying to mount /hdd/Filme
[neutrino.cpp] recording to /hdd/Filme/Serien
Record channel_id: 4530001445d epg: 4530001445d45a3, apids 0x1 mode 1
SPTS, queue 0 extended.
fsk:0, Genre:0, Dauer: 59

[stream2file]: using 50 ringbuffers
[stream2file] filename: '/hdd/Filme/Serien/TV_total_2008-11-25_235302.001.ts' myfilename: '/hdd/Filme/Serien/TV_total_2008-11-25_235302'
Stop
record time: 58 
[mi] saveXml: /hdd/Filme/Serien/TV_total_2008-11-25_235302.xml

[stream2file]: pthreads exit code: 1, dir: '/hdd/Filme/Serien', filename: 'TV_total_2008-11-25_235302' myfilename: '/hdd/Filme/Serien'
PES, queue 0 normal.
[neutrino] executing /var/tuxbox/config/recording.end
23:54:01.590 dmxCN: waking up again - requested from .change()
23:54:01.697 dmxCN: going to sleep...
23:54:01.698 eit_set_update_filter, servicekey = 0x4530001445d, current version 4
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Aufnahmeverzeichnis wird ignoriert

Beitrag von seife »

-=HSKc=-Robby hat geschrieben:@seife:

Ist der trick von mb405 etwas, was auch ins cvs könnte? Oder hast Du vor Dir das nochmal richtig vorzunehmen?
Ich will das eigentlich mal besser machen. Ich müsste mir zumindest einen ordentlichen Kommentar überlegen, warum das jetzt genau so gemacht wurde, und wie man es richtig machen sollte, sonst sitzt in 2 Jahren jemand vor diesem Code und denkt sich "welcher Arsch hat diesen Mist eingecheckt" (und da diese Frage anhand der CVS Logs leicht zu beantworten ist, will ich lieber nicht, dass das passiert).
Hat man übrigens an der ersten Stelle den Ordner mit dem Unterverzeichnis, also 0: /hdd/Filme/Serien und bei 1: /hdd/Filme, dann nimmt er alles in /hdd/Filme/Serien auf...
Das ist klar, denn der Eintrag "0" ist der Fallback, wenn das mounten nicht klappt.
-=HSKc=-Robby
Einsteiger
Einsteiger
Beiträge: 143
Registriert: Sonntag 25. Februar 2007, 20:33

Re: Aufnahmeverzeichnis wird ignoriert

Beitrag von -=HSKc=-Robby »

seife hat geschrieben:Ich will das eigentlich mal besser machen. Ich müsste mir zumindest einen ordentlichen Kommentar überlegen, warum das jetzt genau so gemacht wurde, und wie man es richtig machen sollte, sonst sitzt in 2 Jahren jemand vor diesem Code und denkt sich "welcher Arsch hat diesen Mist eingecheckt" (und da diese Frage anhand der CVS Logs leicht zu beantworten ist, will ich lieber nicht, dass das passiert).
Verständlich!!! Würde auch keinen "Mist" einchecken wollen. Denn werd ich mich mal gedulden, hast derzeit ja schließlich ne ganze Menge andere Dinge um die Ohren, wenn ich mir die ganzen anderen Threads so anschaue :wink:
Hab erstmal im JtG-Forum bei Riker nachgefragt, ob er vielleicht mal nen Test-Snap mit dem dirty-fix von mb405 macht. Und falls nicht, geht die Welt ja nicht unter, ist ja eher schon fast nen Schönheitsfehler...

seife hat geschrieben:Das ist klar, denn der Eintrag "0" ist der Fallback, wenn das mounten nicht klappt.
Ah, ok, so langsam wird es für mich klarer :D
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Aufnahmeverzeichnis wird ignoriert

Beitrag von Gaucho316 »

Das Problem wird, soweit ich das verstanden habe, durch folgenden Code versursacht:

Code: Alles auswählen

...
printf("[neutrino.cpp] trying to mount %s\n",recDir);
doRecord = false;
for(int i=0 ; i < NETWORK_NFS_NR_OF_ENTRIES ; i++)
{
	if (strcmp(g_settings.network_nfs_local_dir[i],recDir) == 0)
	{
		CFSMounter::MountRes mres =
			CFSMounter::mount(g_settings.network_nfs_ip[i].c_str(), g_settings.network_nfs_dir[i],
					  g_settings.network_nfs_local_dir[i], (CFSMounter::FSType) g_settings.network_nfs_type[i],
					  g_settings.network_nfs_username[i], g_settings.network_nfs_password[i],
					  g_settings.network_nfs_mount_options1[i], g_settings.network_nfs_mount_options2[i]);
		if (mres == CFSMounter::MRES_OK)
		{
			printf("[neutrino.cpp] mount successful\n");
			doRecord = true;
		} else {
			std::string msg = mntRes2Str(mres) + "\nDir: " + nextRecordingInfo->recordingDir;
			ShowHintUTF(LOCALE_MESSAGEBOX_ERROR, msg.c_str()); // UTF-8
			doRecord = false;
		}
		break;
	}
}
if (!doRecord)
{
	// recording dir does not seem to exist in config anymore
	// or an error occured while mounting
	// -> try default dir
	recDir = g_settings.recording_dir[0].c_str();
	doRecord = true;
}
...
Die if-Abfrage if (strcmp(g_settings.network_nfs_local_dir,recDir) == 0) wird nie wahr, wenn das Aufnahmeverzeichnis nicht gleichzeitig auch als Mountpunkt vorhanden ist. Da ja aber in oberem Fall nach "/hdd/action" gesucht wird, aber natürlich nur "/hdd" gefunden wird, da das ja der Mountpunkt und "action" nur ein Unterverzeichnis ist, wird der erste Aufnahmeverzeichnis-Eintrag als Fallback benutzt. Diese Art der Abfrage kollidiert wohl auch mit automount, da ja dann nie ein passender NFS-Eintrag gefunden wird.

Eine mögliche Lösung könnte sein, statt "strcmp" "strstr" zu verwenden. Das Problem mit automount würde das aber auch nicht lösen.


Edit:
Ich glaube der Code für die Sofortaufnahme versteckt sich in der Funktion doGuiRecord(char * preselectedDir, bool addTimer, char * filename).
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Aufnahmeverzeichnis wird ignoriert

Beitrag von seife »

Gaucho316 hat geschrieben:Eine mögliche Lösung könnte sein, statt "strcmp" "strstr" zu verwenden.
Nicht ganz ;)

Konfigurierte mountpoints:
0: /mnt/hdd von /dev/hda1
1: /mnt/hdd/filme von /dev/hda2
2: /mnt/hdd/filme/serien von /dev/hda3

Wenn du nun nach /mnt/hdd/filme/serien aufnehmen willst und mit strstr prüfst, dann hört er schon bei MP 0 auf zu mounten, obwohl alle 3 (in der richtigen Reihenfolge(!)) gemountet werden müssten.

Man könnte diesen Fall allerdings einfach ignorieren bzw. verbieten, sprich: Ein Mountpunkt darf nicht unterhalb eines anderen Mountpunktes liegen. Dann könnte das so gehen.
Es ist jedenfalls nicht ganz so einfach, wie es bei erster Betrachtung aussieht ;)
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Aufnahmeverzeichnis wird ignoriert

Beitrag von Gaucho316 »

Hast Recht. Das hab ich nicht bedacht.

Aber könnte man nicht tatsächlich den Code aus "doGuiRecord" in etwas abgewandelter Form nehmen? So wie ich es dort verstehe, wird nur gemountet, wenn auf eine Netzwerkfreigabe geschrieben werden muss. Die Festplatte wird ja sowieso schon beim Starten der d-box gemountet (oder etwa nicht, ich hab keine) und autofs mountet doch selbst. :gruebel:
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Aufnahmeverzeichnis wird ignoriert

Beitrag von seife »

Tatsächlich bin ich mir nicht sicher, ob sich doGuiRecord in der von mir oben geschilderten Situation korrekt verhalten würde.

Ich würde so ein Szenario einfach "verbieten" - mounts unter anderen mounts sind für die meisten User eh zu kompliziert. Das muss dann aber in der mount-Einstellungs-GUI geprüft werden.

Kommt Zeit, kommt fix ;)
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Re: Aufnahmeverzeichnis wird ignoriert

Beitrag von Tommy »

Das muss dann aber in der mount-Einstellungs-GUI
sollte das Zeuchs nich sowieso by Automouter replaced werden?
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Aufnahmeverzeichnis wird ignoriert

Beitrag von Gaucho316 »

seife hat geschrieben:Tatsächlich bin ich mir nicht sicher, ob sich doGuiRecord in der von mir oben geschilderten Situation korrekt verhalten würde.
Auf alle Fälle funktioniert die Sofortaufnahme aber mit "doGuiRecord" im Gegensatz zu der anderen Variante bei einer Timeraufnahme, da ja der Teil mit dem Mounten nicht abgearbeitet wird, wenn das Aufnahmeverzeichnis nicht in den NFS-Einträgen gefunden wird.

Code: Alles auswählen

int nfs_nr = getNFSIDOfDir(recDir.c_str());
if(nfs_nr != -1)
{
	... Mounten ...
}
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Re: Aufnahmeverzeichnis wird ignoriert

Beitrag von Tommy »

ich verstehe den erneuten Re- mount Versuch sowieso nicht. Timer heißt ja das die box evtl. aus dem deepstandby kommt. Da wird doch konventionell sowieso alles gemountet. Die Aufnahme beginnt eine Minute später. Wenn der Server beim boot nicht da war ist er doch eine Minute später auch nicht da. Evtl. wurde hier auf WOL eingegangen. Selbst das ließe sich doch aber mit dem Automounter deckeln oder? Wenn das Verzeichnis nicht beschreibbar ist dann geht halt die Aufnahme nicht. Auf irgendwelche alternativen Verzeichnisse aufzunehmen halte ich sowieso für ungünstig. Mann stelle sich vor Saw3 landet im Winni Puuh Mount nur weil Papa Mount nicht verfügbar ist. Winni Puuh mount ist aber das einzige Verzeichnis was auf der Kinderzimmer dbox verfügbar ist..... :oops:
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Aufnahmeverzeichnis wird ignoriert

Beitrag von rhabarber1848 »

*schieb*

Gibt es schon was Neues zum Thema?