|
|
|
|
| Zitat von GarlandGreene
richtig, hab ich ja auch nicht gemacht. Die Dinger sind sowohl vom Preis als auch von der Hardware nicht mal im Ansatz miteinander zu vergleichen. Und der Linksys ist nicht schlecht (nebenbei nur einer von vielen Routern, die man mit so einer Firmware bespielen kann), aber es gibt auch andere brauchbare Router mit funktionierender Standard-Firmware. So viel Unterschied ist da für die meisten User nicht.
| |
Du hast recht, aber der Linksys ist derjenige, den man praktisch überall bekommt. Meine Erfahrung mit anderen Routern und Standardfirmware ist allerdings anders. Ich werde hier in der Nachbarschaft schonmal mit den Worten "Bombur, das Internet ist kaputt." zu Hilfe gerufen. 90% der Fälle lassen sich über ein simples "Router aus/Router an" lösen. Das ist mir mit einem Linksys selbst nach wochenlangem Dauerbetrieb noch nie passiert. Nicht bei mir, nicht bei meinem Vater und auch nicht bei den Nachbarn, die auf meinen Rat gehört haben.
|
|
|
|
|
|
|
| Zitat von PutzFrau
Ich hab keine Ahnung von Programmieren, aber für die Info1 Vorlesung muss ich mich doch damit beschäftigen. Gerade bin ich bei Listen und habe folgenden Code (C++):
Dabei erhalte ich bei der mit *** markierten Stelle einen Segmentation Fault. Ich weiß aber nicht, woran das liegt.
"Program received signal SIGSEGV, Segmentation fault.
0x0804883e in beliebig (l=@0xbffd6dac, dig=5, s=1) at liste02.cpp:42
42 lh->back=lhh->back;"
Vielen Dank schonmal im Voraus.
| |
Ich raff deinen Code nicht so ganz:
beliebig gibt einen struct zurück, der nirgends abfragt wird. Gut, wenn gcc ohne Warnings aufgerufen wird, ist dem Compiler das dann egal.
Und warum hat beliebig einen & auf liste? Hier sollte eher der Aufruf beliebig(&liste,l,m) sein und im Funktionskopf ein Zeiger list* liste erwartet werden.
|
|
|
|
|
|
|
keine kommentare oder sonstige dinge --> semantik raten, nein danke.
aber der fehler (in 2 sekunden mit gdb herausgefunden): lhh ist an der stelle der nullzeiger und kann natürlich nicht dereferenziert werden.
|
|
|
|
|
|
|
Ich glaube, ich verstehe meinen Code selbst noch nicht so ganz.
Ich möchte bei meiner Liste an einer beliebigen Stelle ein Element einfügen (Sonderfälle beziehe ich später mit ein). Deswegen hab ich auch ein & auf liste drin, da ich ja meine alte Liste dann ändern muss. Oder habe ich das falsch verstanden?
|
|
|
|
|
|
|
| Zitat von GHeissi
keine kommentare oder sonstige dinge --> semantik raten, nein danke.
aber der fehler (in 2 sekunden mit gdb herausgefunden): lhh ist an der stelle der nullzeiger und kann natürlich nicht dereferenziert werden.
| |
Ok, beim nächsten mal werde ich mehr dazuschreiben.
Danke, dass du dir es trotzdem angeschaut hast.
|
|
|
|
|
|
|
achso und die schleife vor dem fehler soll einfach eine bestimmte anzahl an elementen durchwandern.
weil irgendwie macht diese schleife einfach irgendwas.
|
|
|
|
|
|
|
Wenn du in Zukunft noch etwas mehr programmieren musst, würde ich mich mal einarbeiten wie ein Debugger funktioniert bzw. wie man diesen zur Fehlersuche verwenden kann. Erleichtert das ganze extrem. Bei gdb (Linux) wären für dich wsl. die wichtigsten Befehle bt (Stacktrace ausgeben, also welche Funktion hat was aufgerufen), print [Variablenname] (Wert der Variable ausgeben), run (Programm eben ausführen) und quit . Starten kann man gdb mit "gdb [Programmname]". Damit gdb richtig funktioniert, muss man den Compiler anweisen Debugginginformationen mit einzubauen, das klappt (mit gcc) mit dem -g Parameter.
¤: die Fehlermeldung ist schon von gdb oder? Dann hab ich nix gesagt
|
[Dieser Beitrag wurde 3 mal editiert; zum letzten Mal von mc.smurf am 23.01.2009 18:56]
|
|
|
|
|
|
Ja, genau, die soll bis zur Stelle laufen, an der das Element eingefügt werden soll.
Deswegen lhh=lhh->next.
Ob das lhh->back=lhh notwendig bzw. überhaupt richtig ist, darüber bin ich mir nicht sicher.
|
|
|
|
|
|
|
| Zitat von mc.smurf
Wenn du in Zukunft noch etwas mehr programmieren musst, würde ich mich mal einarbeiten wie ein Debugger funktioniert bzw. wie man diesen zur Fehlersuche verwenden kann. Erleichtert das ganze extrem. Bei gdb (Linux) wären für dich wsl. die wichtigsten Befehle bt (Stacktrace ausgeben, also welche Funktion hat was aufgerufen), print [Variablenname] (Wert der Variable ausgeben), run (Programm eben ausführen) und quit . Starten kann man gdb mit "gdb [Programmname]". Damit gdb richtig funktioniert, muss man den Compiler anweisen Debugginginformationen mit einzubauen, das klappt (mit gcc) mit dem -g Parameter.
¤: die Fehlermeldung ist schon von gdb oder? Dann hab ich nix gesagt
| |
gbd benutze ich schon, allerdings habe ich recht wenig Ahnung. Im Prinzip geht es mir nur um die Klausurvorbereitung, ich habe das ganze Semester über nichts gemacht. Nach der Klausur werde ich mich aus Interesse mal intensiver damit beschäftigen.
|
|
|
|
|
|
|
| Zitat von PutzFrau
| Zitat von mc.smurf
... Bei gdb (Linux) wären für dich wsl....
| |
gbd benutze ich schon
| |
Hah! Freud!
|
|
|
|
|
|
|
|
Code: |
list beliebig(list& l, int dig, int s){
listelement* lh=new listelement;
listelement* cur=l.head;
listelement* prev=NULL;
lh->digit=dig;
int i=0;
while(cur&&i<s){
prev=cur;
cur=cur->next;
i++;
}
lh->back=prev;
lh->next=cur;
if(prev) {
prev->next=lh;
if(prev==l.tail) l.tail=lh;
}
if(cur) {
cur->back=lh;
if(cur==l.head) l.head=lh;
}
}
|
|
hab beliebig kurz angepasst...
zur erleichterung habe ich ein prev eingebaut.
mit semantik raten hab ich mir gedacht, dass das element vor die gewünschte position eingefügt werden soll. (0=vor das erste element?)
bei while überprüfe ich, ob ich schon am ende bin (d.h. zu weit gegangen bin) und ob ich schon zu weit gezählt habe.
dann setze ich die zeiger vom neuen element.
wenn es das vorige element geben sollte (kann auch null sein), dann setze ich dessen zeiger und schaue, ob es schon der schluss ist (d.h. ob ich zu weit gezählt habe).
falls ja, ist das neue element das neue ende.
das gleiche beim aktuellen element.
wenn es das gibt, dann schaue ich, ob es in wirklichkeit das erste element war, wenn ja, ist das neue element der neue kopf.
war das so gedacht?
ja und schön valgrind benutzen, aber das rufe ich besser nicht auf...
[e]ja und ich bin davon ausgegangen, dass es head und ein tail existieren muss, muss man halt vorher abfangen, falls es die nicht gibt.[/e]
|
[Dieser Beitrag wurde 4 mal editiert; zum letzten Mal von GHeissi am 23.01.2009 19:28]
|
|
|
|
|
|
| Zitat von Bombur
| Zitat von GarlandGreene
richtig, hab ich ja auch nicht gemacht. Die Dinger sind sowohl vom Preis als auch von der Hardware nicht mal im Ansatz miteinander zu vergleichen. Und der Linksys ist nicht schlecht (nebenbei nur einer von vielen Routern, die man mit so einer Firmware bespielen kann), aber es gibt auch andere brauchbare Router mit funktionierender Standard-Firmware. So viel Unterschied ist da für die meisten User nicht.
| |
Du hast recht, aber der Linksys ist derjenige, den man praktisch überall bekommt. Meine Erfahrung mit anderen Routern und Standardfirmware ist allerdings anders. Ich werde hier in der Nachbarschaft schonmal mit den Worten "Bombur, das Internet ist kaputt." zu Hilfe gerufen. 90% der Fälle lassen sich über ein simples "Router aus/Router an" lösen. Das ist mir mit einem Linksys selbst nach wochenlangem Dauerbetrieb noch nie passiert. Nicht bei mir, nicht bei meinem Vater und auch nicht bei den Nachbarn, die auf meinen Rat gehört haben.
| |
hey, ich sag nicht, daß das Ding schlecht ist. Ich hab den selber (mit Tomato-Firmware), hab ihn bei zwei Bekannten installiert, meinen Eltern und wenn mein Bruder nicht so ein dämliches Telekom-Teil mit zum Anschluss dazubekommen hätte, wär da auch ein WRT54 hingekommen. Ich fand nur das Ursprungsargument mit "Cisco-Hardware" etwas lächerlich.
|
|
|
|
|
|
|
Ja, das trifft das, was ich schreiben wollte, wunderbar.
Noch eine Frage zur Syntax: Ich habe while Schleifen und if immer mit einer (Un-)gleichung verwendet. Du hast nun beispielsweise "if(prev)". Aus deiner Beschreibung des Codes schließe ich, dass das einfach überprüft, ob das Element vorhanden ist, ist das so richtig?
edit: Danke nochmals für die schnelle Hilfe.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von PutzFrau am 23.01.2009 19:37]
|
|
|
|
|
|
ja, falls es das element nicht gibt, steht dann der nullzeiger drinnen und die adresse ist ja wirklich "0" davon.
und dem if ist es jetzt egal, wenn es das element nicht gibt, ist es "if(0)" und das statement wird nicht ausgeführt.
ansonsten steht da "if(<irgendeine adresse ungleich 0>)" und schon passt es.
man kann natürlich auch if(cur!=NULL) schreiben, wenn man will.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von GHeissi am 23.01.2009 19:51]
|
|
|
|
|
|
was für ein programm speichert mir per batch aus 13 mp4 videos die tonspur als wav ab? oder demuxt sie zumindest mal.
|
|
|
|
|
|
|
| Zitat von Donut2
| Zitat von Timmi is back!
| Zitat von shp.makonnen
Ich hab mit SUPER aus ner .avi DVD-Dateien gemacht.
Ich hab die einfach in nen VIDEO_TS-Ordner getan und diesen auf DVD gebrannt. Das nimmt der Player aber nicht, was muss ich noch beachten dabei?
| |
Es muss ebenso ein AUDIO_TS Ordner vorhanden sein.
| |
Nein, es muss keine Audio_TS vorhanden sein.
@shp.makonnen mit welchem Programm gebrannt? Ich benutz für DVD-Strukturen i.d.R. convertxtodvd
| |
Mein DVD-Player frisst es nicht ohne.
|
|
|
|
|
|
|
| Zitat von Artemos
| Zitat von Timmi is back!
| Zitat von Artemos Vermutlich liegts schon am Stromkabel.
| |
Nimm mal dein Monitorkabel für'n PC und umgekehrt. Wenn dann ab und dann der Monitor schwarz wird...
| |
Ok, daran hats nicht gelegen.
Grad wieder ein, keine Ahnung wie das heisst.
Sagen wir mal Absturz.
Jemand eine Ahnung, was das sein könnte?
| Zitat von Artemos
Woran könnte es liegen, dass sich mein PC teilweise selbst ausschaltet?
Und zwar so, als ob jemand das Stromkabel gezogen hätte.
Zack und aus ist er.
Wenn ich ihn dann nochmal starte, nach einer Sekunde das gleiche.
Er funktioniert erst dann wieder, wenn ich das Kabel einmal rausgezogen habe und wieder reingesteckt habe.
Das Stromkabel weist keine äusseren Beschädigungen auf und ist auch nicht locker drin und direkt am Netzwerk angeschlossen.
Vermutlich liegts schon am Stromkabel.
| |
| |
Hast du die Möglichkeit, mal ein anderes Netzteil zu probieren. Achte drauf, dass es genug Power hat.
|
|
|
|
|
|
|
| Zitat von Alkoholiker*
was für ein programm speichert mir per batch aus 13 mp4 videos die tonspur als wav ab? oder demuxt sie zumindest mal.
| |
YAMB kann sie demuxen. Ein solches Programm mit Batchfunktion suche ich auch, habe aber (noch) keins gefunden.
tschy2m
|
|
|
|
|
|
|
ach ich bin auch ein depp... einfach megui und nur audio encoden lassen.
|
|
|
|
|
|
|
| Zitat von GarlandGreene
| Zitat von Bombur
| Zitat von GarlandGreene
richtig, hab ich ja auch nicht gemacht. Die Dinger sind sowohl vom Preis als auch von der Hardware nicht mal im Ansatz miteinander zu vergleichen. Und der Linksys ist nicht schlecht (nebenbei nur einer von vielen Routern, die man mit so einer Firmware bespielen kann), aber es gibt auch andere brauchbare Router mit funktionierender Standard-Firmware. So viel Unterschied ist da für die meisten User nicht.
| |
Du hast recht, aber der Linksys ist derjenige, den man praktisch überall bekommt. Meine Erfahrung mit anderen Routern und Standardfirmware ist allerdings anders. Ich werde hier in der Nachbarschaft schonmal mit den Worten "Bombur, das Internet ist kaputt." zu Hilfe gerufen. 90% der Fälle lassen sich über ein simples "Router aus/Router an" lösen. Das ist mir mit einem Linksys selbst nach wochenlangem Dauerbetrieb noch nie passiert. Nicht bei mir, nicht bei meinem Vater und auch nicht bei den Nachbarn, die auf meinen Rat gehört haben.
| |
hey, ich sag nicht, daß das Ding schlecht ist. Ich hab den selber (mit Tomato-Firmware), hab ihn bei zwei Bekannten installiert, meinen Eltern und wenn mein Bruder nicht so ein dämliches Telekom-Teil mit zum Anschluss dazubekommen hätte, wär da auch ein WRT54 hingekommen. Ich fand nur das Ursprungsargument mit "Cisco-Hardware" etwas lächerlich.
| |
Ja dann, worüber diskutieren wir eigentlich?
|
|
|
|
|
|
|
| Zitat von Alkoholiker*
was für ein programm speichert mir per batch aus 13 mp4 videos die tonspur als wav ab? oder demuxt sie zumindest mal.
| |
Schau Dir mal das GUI für eac3to an, da kann man Batchlistings anlegen. Recht kraftvolles kleines Tool. Allerdings nicht ganz übersichtlich.
Natürlich auf der letzten Seite ganz unten gelandet:
| Zitat von Tiger2022
Moin,
ich encodiere meine Videos normalerweise mit MeGui.
Kommen als MPEG2 aus der Kamera und ich packe sie dann als h264.
Normalerweise nehm ich da immer 5000er Bitrate belasse die Auflösung bei 1280x720 wähle 2pass-encoding und das klappte bisher auch immer sehr gut.
Seit ein paar Tagen jedoch stell ich zwar 5000 ein aber irgendwas läuft im ersten durchlauf unglaublich schief. am ende habe ich dann zwar zielbitrate 5000 aber durchschnittlich verwendete 300 (DREIHUNDERT) -> ich habe Klötzchen statt Bild.
Dafür brauch ich dann keine HD-Cam sondern kann auch mein Handy nehmen
Ich muss irgendwo etwas verstellt haben.
Kann mir wer helfen?
| |
|
|
|
|
|
|
|
Beim Firefox 3 hat er, wenn ich in die Adressleiste nur zB "youtube" eingegeben habe, entweder die adresse vervollständigt oder automatisch mit google gesucht.
jetzt kommt nur noch eine fehlermeldung. kann man das wieder zurückstellen?
|
|
|
|
|
|
|
Hallo,
ich könnte mal einen Buchtipp gebrauchen. Und zwar geht es um die Administration von Linux(Debian) Servern, insbesondere Apache, MySQL, Postfix. Ich kenn mich soweit aus, dass ich diese Dinge installieren kann, es geht mir eher um weiterführende Literatur bzgl. Sicherheit usw.
Beispielsweise hab ich schonmal sowas gefunden:
Linux-Server mit Debian
Root-Server: Einrichten und absichern
Kennt jemand gute Bücher in der Richtung?
|
|
|
|
|
|
|
Ich hab nun MeGui mal deinstalliert und nochmal neu installiert und dabei auch alle Codecs erneut herunterladen lassen.
Leider ist das Ergebnis nach wie vor so, dass ich 1280x720 pure Scheiße habe, weil er bei gewählter 10.000er Bitrate im Schnitt mit 300er kodiert.
Niemand eine Idee woran das liegen kann?
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Tiger2022 am 24.01.2009 15:33]
|
|
|
|
|
|
Hast du bei der Neuinstallation auch die Profile neu importiert und eventuell vorhandene überschrieben?
tschy2m
|
|
|
|
|
|
|
| Zitat von tschy2m
Hast du bei der Neuinstallation auch die Profile neu importiert und eventuell vorhandene überschrieben?
tschy2m
| |
Ja, ich hab es mit x264 unrestricted twopass HQ probiert.
Bringt das gleiche Ergebnis wie mein eigenes Profil zuvor.
Ich hab aber auch keine Ahnung woher diese Einstellung kommen könnte dass das das in so mieser Qualität ausspuckt.
|
|
|
|
|
|
|
Funktioniert das Ausgangsmateriel überhaupt einwandfrei?
Vielleicht liegt der Fehler bereits am Importieren.
MeGUI hat ja schon so einen intergrierten Player zum Testen...
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von GHeissi am 24.01.2009 15:47]
|
|
|
|
|
|
| Zitat von GHeissi
Funktioniert das Ausgangsmateriel überhaupt einwandfrei?
Vielleicht liegt der Fehler bereits am Importieren.
MeGUI hat ja schon so einen intergrierten Player zum Testen...
| |
Also KMPlayer spielt das Ding ab.
Alle anderen sind nicht so begeistert, aber ich glaub das liegt an der Dateigröße.
Aus der Kamera kommen immer 2gb Dateien, die hab ich mit dem Boilsoft Video Joiner einfach aneinandergeklebt und hab nun eine monströse Mpeg2 Datei. Prinzipiell ist die Datei auch abspielbar.
Ich hatte das Problem mit MeGui aber auch schonmal mit einer kleineren Datei (~1,7gb). Und: Es ging schonmal. Ich hab auf die Weise schon 3 Videos kodiert.
Ich hab keine Ahnung was sich da geändert haben soll
¤: Achja das Fenster zeigt das Bild hochauflösend an und spielt es auch (wenn auch etwas langsam dank der dateigröße) ab.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Tiger2022 am 24.01.2009 16:06]
|
|
|
|
|
|
Hast du die Originaldateien noch?
Falls es Avi ist:
AviSource("Datei1")+\
AviSource("Datei2")+\
AviSource("Datei3")
Falls es was anderes ist:
DirectShowSource("Datei1")+\
DirectShowSource("Datei2")+\
DirectShowSource("Datei3")
Das dann als .avs speichern und in MeGUI reinladen.
tschy2m
|
|
|
|
|
|
|
| Zitat von tschy2m
Hast du die Originaldateien noch?
Falls es Avi ist:
AviSource("Datei1")+\
AviSource("Datei2")+\
AviSource("Datei3")
Falls es was anderes ist:
DirectShowSource("Datei1")+\
DirectShowSource("Datei2")+\
DirectShowSource("Datei3")
Das dann als .avs speichern und in MeGUI reinladen.
tschy2m
| |
Ja, die hab ich noch, habe daraus mal 1000 frames kodieren lassen, ergibt leider das gleiche miserable Ergebnis
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Tiger2022 am 24.01.2009 16:47]
|
|
|
|
|
Thema: Informatiker helfen PC-Neulingen ( Need help, plx!!1 ) |