Wird das von Linux unterstützt? Ich habe hier einen Rechner mit SATA-controller (0000:00:1f.2 IDE interface: Intel Corporation 82801FB/FW (ICH6/ICH6W) SATA Controller (rev 05)), auf dem SuSE 9.3 läuft. Wenn ich im Betrieb eine SATA-Platte (Samsung SP2504C) einstecke, passiert nichts (jedenfalls keine kernel-Meldungen). Grundsätzlich funktioniert SATA auf diesem Rechner, das root-fs ist auf einer anderen SATA-Platte, die als device /dev/sda eingebunden ist. edit: möglicherweise kann der Controller auf meinem Mainboard das nicht, sieht jedenfalls laut dieser Seite so aus...
Beiträge von Incazzato
-
-
-
-
Zitat von MaxAuthority
Dann probier mal das: http://onion.dynserv.net/%7Etimo/tconf.html
Bash-basiert, und find ich sehr nett zum verwenden.
Die Freiheit hab ich leider nicht. Das betreffende Projekt ist sehr eng an ein vorhandenes SDK (embedded system) geknüpft, das eine ganz eigene Makefile-Struktur hat. Meine Skripte sollen nur ein paar Sachen automatisieren (benötigtes Environment erstellen, make-targets aufrufen, die Version des SDK berücksichtigen, ein config-Fike in Compilerflags "übersetzen"...)danke für eure Hilfe
-
-
-
Zitat von [fl]Quel`Tos
hmm, woher kriegt "while read var" die Daten?
Jensi: wäre schön, dabei werden die Variablen aber nicht exportiert.Ich krieg von den blöden Skriptsprachen Kopfschmerzen...
-
Wo ich schon mal dabei bin:
Wie kann ich einem Shell-Skript beibringen, jede Zeile eines config-Files als Environment-Variable zu exportieren, damit ich im conf-File kein "export" stehen habe (ausgenommen Kommentare, die mit '#' beginnen)?z.B. ein File z.conf
VERSION=12
PATH=/xydas Skript soll z.conf einlesen und daraus die Befehle
"export VERSION=12"
und
"export PATH=/xy"
generieren.Vermutlich müsste ich dazu nur wissen, wie ich zeilenweise lesen kann und wie ich einen substring-Vergleich machen kann (1. Zeichen). Wenn möglich nur mit Shell-Bordmitteln.
-
Wo ich schon mal dabei bin:
Wie kann ich einem Shell-Skript beibringen, jede Zeile eines config-Files als Environment-Variable zu exportieren, damit ich im conf-File kein "export" stehen habe (ausgenommen Kommentare, die mit '#' beginnen)?z.B. ein File z.conf
VERSION=12
PATH=/xydas Skript soll z.conf einlesen und daraus die Befehle
"export VERSION=12"
und
"export PATH=/xy"
generieren.Vermutlich müsste ich dazu nur wissen, wie ich zeilenweise lesen kann und wie ich einen substring-Vergleich machen kann (1. Zeichen). Wenn möglich nur mit Shell-Bordmitteln.
-
Ich bräuchte öfter die Möglichkeit, mir von einem Skript Werte in einer simplen Textdatei (config-file) ändern zu lassen.
z.B. eine Zeile
"VERSION=x"
auf
"VERSION=y"
ändern.Wie lässt sich sowas am einfachsten machen?
-
Zitat von Wolfibolfi
Hoppla, wusste nicht, dass er da den ganzen Rest durchgeht. Wieso eigentlich? Wenn ich sag 1000 Blöcke, soll er 1000 kopiern, und dann aufhörn, naja, wie gesagt, nicht getestet.
Alternativ ein kleines Programm schreiben, seek->read->write, sollte schnell erledigt sein.
Nein, so meinte ich das wiederum nicht.
Ich will von einem file, das 16 GB groß ist, 15.5 GB behalten und die restlichen 0,5 GB verwerfen. Das geht sehr wohl mit dd. Dann werden aber die 15.5 GB dupliziert, und das dauert... -
Entweder ich habe mich zu unklar ausgedrückt oder du hast zu schnell gelesen
Wie es mit dd geht / gehen würde, ist mir schon klar. Allerdings ist das keine optimale Lösung, weil ich nicht den ganzen Rest kopieren will (was ich mit dd muss), sondern einfach nur "ein Stück" abschneiden. -
Problem: eine 16 GB große Datei, von der am Anfang einige hundert MB abgeschnitten werden sollen.
Einzige Möglichkeit, die mir einfällt, wäre "dd" mit Parameter "skip". Allerdings wird dann das ganze restlich file kopiert. Da ich diesen Vorgang voraussichtlich noch öfter brauchen werde, ist ein solcher Aufwand nicht wirklich optimal.
Hat jemand einen Tipp (von mir aus auch ein kleines C-Programm), wie man sowas bewerkstelligen kann? -
Zitat von hal
Naja, wenn man einen Transponder tunt, kommen die Daten einfach mitten aus dem Strom rein, da kann man sich sowas nicht aussuchen. Die Decoder müssen auch damit klar kommen (mit ein Grund für die hohen Channelstep-Zeiten bei Digitalfernsehen).
Das stimmt. Ich wusste aber nicht, inwiefern PC-Codecs damit klar kommen.Zitat
Naja, dual core sollte es schon sein
Das ist ein dual core -
Zitat von hal
Ah ja stimmt. Das ist allerdings eine draft-Version, d.h. da is noch nix standardisiert. Ich hab bisher nur die Version 1.5.1 gekannt vom EN 300 468, da war dieser Bereich noch "reserved for future use" (habs grade verglichen), deswegen meine Verwirrung.
Schon. In der Praxis wird aber schon seit Oktober nach diesem Standard gesendet (12441 V 27500 auf 19,2°O) und es sind schon 2 Receiver (von Pace und Humax) auf dem Markt, die diesen Standard sozusagen implementieren. Bekanntermaßen dauert es manchmal ein bisschen länger, bis so ein Standard wirklich offiziell steht.Zitat
Naja, MPEG2-TS hat nicht wirklich Headerinformationen, nur die SI tables, und hier speziell die PMT. In der steht aber (für unverschlüsselte Streams) nur die Audio-, Video- und PCR-PID drin, und die rauszufinden ist ja nicht mehr das Problem.
In den tables können aber wiederum Descriptoren drinstehen, und dort lässt sich im Grunde so ziemlich jede beliebige Information unterbringen.
Ich glaube aber, das Problem bei meiner Aufnahme sind weniger die Header-Informationen selber, als ein "sauberer Beginn". Ich vermute mal, der Beginn eines Videostreams sollte mit einem neuen Frame (und nicht irgendwo mitten in einem Frame) beginnen, das wohl außerdem ein I-Frame sein sollte. Beides ist aber nicht erfüllt.
Ich hab's jetzt geschafft, mit MPC und dem ffdshow MPEG-4 Video Filter das File abzuspielen. Zwar sind Audio und Video maßlos out of sync, weil selbst ein P4 mit 3,6 Ghz überfordert ist, aber immerhin spielt es. Man kann auch gut erkennen, dass am Anfang kein I-Frame ist, weil das Bild in den ersten 1-2 Sekunden "kaputt" ist.
Welcher Teil in der Filterkette ist denn für die A/V-Synchronisation zuständig? Vermutlich der Splitter, oder? -
Zitat von hal
Das ist eine sehr seltsame Datei. MPEG2 ist eigentlich kein Containerformat, also dürfte da gar kein H.264 reinkommen können. Ich nehm an, dass das am DVB-S2 liegt, das ja noch kaum jemand wirklich implementiert hat (inzwischen gibts sogar schon eine Karte, die das kann: http://www.knc1.com/d/produkte/digital_dvb_s2_plus.htm, aber der Standard is ja noch nichtmal ein Jahr alt).
Ich denke, da wirst du noch warten müssen auf eine offene Lösung. Du müsstest irgendwie die Audio- und Video-Pakete rausbekommen und in einen MPEG4-Container reinbekommen, dann wär Abspielen kein Problem.
Nunja, MPEG-2 definiert vieles, unter anderem auch 2 Containerformate (MPEG-2 PS/TS), definiert in ISO/IEC 13818-1 (MPEG-2 Part 1).
An DVB-S2 liegt das nicht, über DVB-S wird genauso ein MPEG-2 TS geschickt. Falls dich das Thema interessiert, sieh dir mal folgendes an:
DVB-SI Standard.
In dieser Version sind auch schon DVB-S2 und H.264 berücksichtigt. Schau z.B. mal auf Seite 36, dort siehst du, welche Möglichkeiten, den Videostream zu codieren, festgelegt sind.Mittlerweile habe ich es mit MPC und einem xvid-h264 DShow-Filter immerhin geschafft, ein paar Frames abzuspielen. Leider habe ich aber nicht wirklich viel Ahnung, wie man z.B. zum Demuxen einen anderen Filter auswählen kann bzw. welche Filter dafür überhaupt geeignet sind.
Ich glaub aber eigentlich nicht, dass der Container das Problem ist, eher die fehlenden Header-Informationen über den vorhandenen Video-Stream. -
-
Bin auf der Suche nach einem SW-Player für Linux oder Windows, der das hier wiedergeben kann:
download-Link
Kurze Info:
Dauer: ca. 12 sek
Auflösung: 1920x1080 interlaced
Video-Codec: H.264
Audio-Codec: AC-3 (weiß nicht, ob 2- oder 5.1-Kanal)
Das Ganze ist als MPEG-2 TS gespeichert, allerdings ohne Meta-Informationen (keine SI-Sections), deshalb müssen dem Player die vorhandenen Streams möglicherweise manuell mitgeteilt werden (?)
Für den Fall: Die Video-PID ist 511, die Audio-PID 515.
Ich habe mit einem halbwegs aktuellen mplayer unter Linux und auf einem Windows-Rechner mit verschiedenen Playern und Codecs probiert, aber Erfolg hatte ich nirgends. Kenne mich aber auch nicht wirklich mit den Programmen aus, mit denen ich getestet habe...
Am nächsten dran war ich mit mplayer, der gab mir folgendes aus:Code
Alles anzeigenPlaying /server/nfs/testfiles/dvb-record/Sat1HD-trueHD-20M.m2t. TS file format detected. DEMUX OPEN, AUDIO_ID: -1, VIDEO_ID: -1, SUBTITLE_ID: -2, PROBING UP TO 2000000, PROG: 0 VIDEO MPEG2(pid=511)AUDIO A52(pid=515) NO SUBS (yet)! PROGRAM N. 0 Opened TS demuxer, audio: 2000(pid 515), video: 10000002(pid 511)...POS=9964 MPEG: FATAL: EOF while searching for sequence header. Video: Cannot read properties. ========================================================================== Opening audio decoder: [liba52] AC3 decoding with liba52 Using SSE optimized IMDCT transform AC3: 5.1 (3f+2r+lfe) 48000 Hz 448.0 kbit/s Using MMX optimized resampler AUDIO: 48000 Hz, 2 ch, s16le, 448.0 kbit/29.17% (ratio: 56000->192000) Selected audio codec: [a52] afm: liba52 (AC3-liba52) ========================================================================== AO: [oss] 48000Hz 2ch s16le (2 bytes per sample) Video: no video Starting playback...
Anscheinend scheitert die Video-Wiedergabe an mangelnden "Properties".
Wenn ich wüsste, mit welchen Parametern ich die angeben könnte, würde es vielleicht funktionieren. Das mplayer-manual ist aber nicht wirklich übersichtlich...Würde mich freuen, wenn mir jemand den entscheidenden Tipp geben könnte!
-
Zitat von jeuneS2
Ich weiß nicht wie du darauf kommst dass da nur Referenzen drinnen sein sollen. Dein Beispiel sieht aus wie die Ausgabe von nm, und da ist ja klar, dass nur Adressen zu sehen sind. Es sind in einer Library definitiv die gesamten Objectfiles enthalten.
Tatsächlich. Interessanterweise gibt das "less" so schön leserlich aus, wie ich es reinkopiert habe, ohne vorher wg. binary file oder so zu warnen...Damit hätte sich die ganze Frage dann geklärt, danke
-
Bsp. libstdc++.a:
Code
Alles anzeigenbitset.o: 00000000 T _ZNKSt12_Base_bitsetILj1EE15_M_do_find_nextEjj 00000000 T _ZNKSt12_Base_bitsetILj1EE16_M_do_find_firstEj 00000000 D _ZSt12_S_bit_count 00000000 D _ZSt12_S_first_one codecvt.o: 00000000 t _GLOBAL__I__ZNSt7codecvtIcc11__mbstate_tEC2Ej U __gxx_personality_v0 U _ZdlPv ...
Da steht also drin, welche object-files welche Definitionen enthalten.
Wo aber sind diese object-files? Ich verstehe nicht ganz, woher der Linker schlussendlich den einzufügenden Binärcode kriegt. Ich dachte immer, .a - libs enthalten komplette object-files, so wie in jar-Archiven .class-Dataien liegen, aber scheinbar sind da nur Referenzen drin. Aber wohin zeigen die? Oder unterliege ich einem Verständnisfehler des Ganzen?