Jump to content

Explorer/Eigenschaften


erwin

Recommended Posts

Was haltet ihr davon, bei Aufzeichnungen (unter NTFS) im Eigenschafts/Dateiinfo-Dialog des Explorers die Felder "Titel", "Thema", "Kommentare" (=EPG-Beschreibung), "Quelle" (z.B.: ARD 20.11.2006 20:15) zu füllen.

 

fragt erwin

Link to comment

Eine interessante Idee. Bleibt herauszufinden, über welches verdammte Windows-Interface bzw. welchen Funktionsaufruf das nun wieder zu geschehen hat. Sobald ich Zeit finde, werde ich etwas in der Hinsicht recherchieren. Vielleicht hat ja jemand Lust, mir die Arbeit abzunehmen und schon vorher nachzuforschen... ;)

Link to comment

Wenns denn als wünschenswerte Feature angesehen wird, möchte ich trotzdem darauf hinweisen: Ist nicht ganz so trivial. (Dir Griga traue ich es aber allemal zu). Und Aufwand steckt auch ein wenig dahinter.

 

Bleibt herauszufinden, über welches verdammte Windows-Interface bzw. welchen Funktionsaufruf das nun wieder zu geschehen hat. Sobald ich Zeit finde, werde ich etwas in der Hinsicht recherchieren. Vielleicht hat ja jemand Lust, mir die Arbeit abzunehmen und schon vorher nachzuforschen... ;)

 

Ich hab ähnliches schon mal gemacht. Soviel vornweg. Die Infos stecken in alternativen Data streams (ADF) des NTFS. Zum Lesen und Schreiben derselben wird die Backup-Api genutzt. Und die Infos werden auch nicht einheitlich abgelegt (d.h. keine Systematik zu erkennen warum ein Teil der Infos in jenen Datastream geht und die Anderen in Andere). Wenn Du den Aufwand dennoch für vertretbar hältst, such ich Dir meine Testprogramme mal heraus. Sind allerdings in C!

 

 

mfG erwin

Link to comment
Hmm, das könnte es schon sein, praktischerweise gleich in Delphi:

 

http://www.howtodothings.com/computers/a10...mmary-info.html

 

Da geht es allerdings um das Lesen der Informationen. Wie gesagt, sobald Zeit, dann nähere Betrachtung...

 

Wie findest Du nur so schnell solche Sachen? Ich hatte damals ziemlich lange googeln müssen und hab diesen OLE-Zugang nicht gefunden, sondern nur direct über das API. Verwendung des OLE-Objects zum Schreiben dürfte wohl dann auch machbar sein.

 

mfg erwin

Link to comment
Wie findest Du nur so schnell solche Sachen?

Glückstreffer ;)

 

sondern nur direct über das API

Erzähl mal genauer, wie du über das API zugreifst (ev. mit Link zu MSDN). Die Alternative würde ich gerne kennen.

 

Das Speichern der zusätzlichen Informationen würde auch ermöglichen, sie beim Abspielen der Datei als Quasi-EPG-Info anzuzeigen.

Link to comment
Guest Lars_MQ

Zumindest Netzwerk zugriff geht (von NTFS zu NTFS getestet). Trotz allem sollte man das eher als geringeren Zusatznutzen ansehen, da so eine aufnahme meist ja ein ausgangsprodukt ist und kein endprodukt (schneiden/muxen usw).

Link to comment

...und optional machen, eventuell mit Default = aus. Es gibt Sicherheitssoftware, die meckert, wenn ein Programm unbekannter Gesinnung alternative Data Streams erzeugt, da sich in ihnen wunderschön Sachen verstecken lassen, die der User nicht sehen soll.

Link to comment

Also ich habe es jetzt in im DVBViewer GE implementiert, einschließlich einer Checkbox unter Optionen -> Recorder, die das Schreiben der zusätzlichen Informationen aktiviert. Die gesamten EPG-Informationen unter Eigenschaften -> Dateiinfo abzulegen funktioniert mit der Delphi-Unit (Link von Lars, s.o.) tatsächlich problemlos. Ich verwende dabei die drei Felder Titel, Betreff und Kommentar.

 

Nervig ist nur die Eigenart meines Windows XP Home, den Titel bei einem Wechsel vom "einfachen" zum "erweiterten" Datei-Info zu löschen. Wenn man danach mit OK bestätigt, ist er weg. Würde ich als Bug bezeichnen, aber daran kann der DVBViewer wohl nichts ändern.

 

Bleibt noch, die Informationen, sofern vorhanden, beim Abspielen einer Datei im OSD zugänglich zu machen. Das ist in der GE der schwierigere Teil... ;)

Link to comment
Also ich habe es jetzt in im DVBViewer GE implementiert, einschließlich einer Checkbox unter Optionen -> Recorder, die das Schreiben der zusätzlichen Informationen aktiviert.

 

Wow, Ihr coded ja schneller als manche sich die Zähne putzen. Und das noch für free und die Allgemeinheit.

Auch das Du gleich den Zusatznutzen beim Abspielen erkannt hast...

Super und Danke!

 

Die Anmerkung von Lars über den Infoverlust in der Verarbeitungskette habe ich beim Vorschlagen noch nicht gesehen. Aber Recht hat er. ProjectX und Cuttermaran sind allerdings auch recht lebendige Produkte in Ihrer Entwicklung. Vielleicht kann man deren Entwickler ja auch unter Bereitstellung von Code-Schnipseln zu einer Anpassung bewegen. Mal sehen. Zur Not bastle ich ein Tool zur Übertragung solcher Infos auf anderen Dateien. Quasi als Gegenleistung. Nur so schnell wie Griga werd ich nicht bereitstellen können. Leider.

 

@Griga: Ich such meine Codefragmente bez. der API mal heraus.

 

Bis dann erwin

 

EDIT: Ich hab jetzt noch mal auf dein Posting geschaut Griga. Sag mal schläft Du überhaupt noch ( ... oder lebst Du schon)

Edited by erwin
Link to comment

Hast du Quelle und Kategorie über separate Aufrufe (FMTID_ MediaFileSummaryInfo & FMTID_DocSummaryInformation) erledigt, oder gibt es einen Trick, das mit den anderen in einem Rutsch (SetMultipleFileSummaryInformation) zu übergeben? Letzteres hatte ich angestrebt, um mehrfaches OpenStorage = mehrfache Dateizugriffe zu vermeiden, und deshalb auf die Extras verzichtet.

 

Verschwindet der Titel bei dir auch, wenn du auf "Einfach" zurückschaltest?

 

P.S. Gerade gesehen: Die Informationen zeigt der Explorer nicht nur in den Eigenschaften der Datei, sondern auch direkt in der Detailansicht, wenn man die entsprechenden Spalten sichtbar macht (Rechtsklick auf Spaltentitel). Und da gibt's noch eine Menge mehr, was man theoretisch der Datei an Informationen hinzufügen könnte...

Edited by Griga
Link to comment
Guest Lars_MQ

Nein kein Trick einfach mehrfache aufrufe, nur das erste wird als array übergeben. Ich glaube, die zwei aufrufe mehr machen nicht wirklich was aus. :)

 

Ja, der Titel verschwindet bei mir auch, wird aber nach erneutem öffnen wieder angezeigt. (XP Pro und XP Home).

Link to comment

Hallo Lars,

 

jetzt nicht als meckern verstehen. Bin genug beeindruckt von euch.

 

Wäre es nicht besser "Date" und "Duration" mit in der "Quelle" unterzubringen, vielleicht auch ohne diese Schlüsselworte (dann hätte man dieses "Warum nicht auf deutsch/english/francais... nicht"). Ich denke das Feld "Stichworte" sollte dem User für eigene Suchbegriffe vorbehalten bleiben.

 

mfg erwin

Link to comment
Guest Lars_MQ

Naja stichworte war grad vorhanden und frei :) aber Du hast recht. Aber mir wäre es lieb datum und dauer freistehend zu haben und es trotzdem im Eigenschaftendialog angezeigt zu bekommen. Ich muss mich vielleicht mal mit dem Userdefined kram beschäftigen. Wenn nix geht, kommts eben mit zum sender.

 

"dann hätte man dieses "Warum nicht auf deutsch/english/francais... nicht").

Wer sagt denn, dass das nicht mit der lng datei erschagen wird :) Aber ich hab auch kein problem das wegzulassen.

Link to comment

Den DVBViewer als Autor einzutragen ist auch irgendwie dreist :) Es gibt PIDSI_APPNAME. Fragt sich nur, wo das zu sehen ist.

 

Gestern habe ich noch eine Mail an die ARD bzw. meinen Ansprechpartner beim WDR verfasst und angefragt, ob es sich nicht ändern ließe, dass alle Dokumentarfilme im Content Descriptor als "Musik/Ballet/Tanz" klassifiziert werden. Hatte ich gestern prompt als Kategorie in den Eigenschaften einer Aufnahme stehen, und dachte, nu reichts...

Link to comment

..eigentlich suche ich was anderes und dabei bin ich über diesen thread gestolpert. Ist zwar nicht direkt dasselbe, aber mich hatte schon immer gewundert, dass @Griga nicht sich selbst oder den DVBViewer in den mpeg_user_data vom header verewigt hat ;) Da könnte man natürlich auch was zur aufnahme schreiben :blink:

Link to comment
mpeg_user_data

Wo steht was dazu, und welche Software liest das und macht was damit? Ich meine, wenn man sich schon verewigt, will man ja auch, dass es jemand liest :blink:

 

Ideal wäre eine Methode, die die EPG-Daten bis in die fertige DVD transportiert.

Link to comment
Wo steht was dazu, und welche Software liest das und macht was damit? Ich meine, wenn man sich schon verewigt, will man ja auch, dass es jemand liest :blink:

 

Ideal wäre eine Methode, die die EPG-Daten bis in die fertige DVD transportiert.

 

 

§ 6.3.4.1 in ISO/IEC 13818-2

 

user_data eingeleitet durch user_data_start_code.

 

Nach der Anmerkung von Lars über den etwaigen Verlust der Infos bin ich auch auf die Schlussfolgerung gekommen, dass in diesem user-daten-Bereich der eigentlich bessere Ort für diese Infos wäre. Zumindest bei Cuttermaran/Mplex und anschliessendem Brennen auf DVD bleiben sie erhalten. ProjectX scheint sie herauszufiltern. Ein kleines lesendes Tool für zunächst die Kommandozeile habe ich schon mal testhalber realisiert. Weiter ginge es dann indem man eine Explorer-Extension schreibt, dass diese Infos dann bei Eigenschaften/Details etc verfügbar macht. Keine grosser Aufwand schätze ich. War gerade dabei ein Tool zu schreiben welches die Daten aus den nunmehr verfügbaren Eigenschaften in diesen User-Data-Bereich schreibt. Nachteil: der ganze (i.d.R grosse) Stream wird umkopiert nur weil am Anfang der Datei einige Infos eingefügt werden. Wäre schon besser wenn dies schon im DVBV geschehen würde. Einige Probs hatte ich auch mit den evt neu zusetzenden Timestamps.

 

mfg erwin

Link to comment
§ 6.3.4.1 in ISO/IEC 13818-2

Schon gefunden, danke. Nach dem, was ich auf den ersten Blick sehe, dürfte es bei MPG kein übermäßiges Problem sein, das gleich bei der Aufnahme mit reinzuschreiben, da wir dabei ja ohnehin neu paketisieren.

 

Bei TS sieht es schon diffiziler aus. Es müssten praktisch zusätzliche TS-Pakete in den Videostream eingefügt werden, und dann gibt es Ärger mit dem continuity_counter, es sei denn, wir schreiben immer kategorisch 16 Stück :blink:

 

Einige Probs hatte ich auch mit den evt neu zusetzenden Timestamps

Inwiefern?

Link to comment
Schon gefunden, danke. Nach dem, was ich auf den ersten Blick sehe, dürfte es bei MPG kein übermäßiges Problem sein, das gleich bei der Aufnahme mit reinzuschreiben, da wir dabei ja ohnehin neu paketisieren.

 

Lässt ja hoffen.

 

Inwiefern?

Mein erster Versuch war es mittels eines Hexeditors einen user_data-Bereich (eigentlich einen 2. was ja nach Standard zulässig ist) in eine *.m2v zu schreiben und anschliessend neu zu muxen. Um zu sehen was passiert habe ich gleich einen richtig großes Teil (> 20KB) eingefügt. MPlex quittierte dies mit Meldungen wie etwa "WARN: ... data arrive to late" und abschliessendem Underrun-Error. Das Video konnte aber fehlerfrei mit MediaPlayer, WinDVD, NeroShowtime abgespielt werden. Ein anderer Muxer hat dann aber gut funktioniert. Also MPlex mit Bug. Bei der Auswertung/Interpretation der Fehlermeldungen bin ich dann zum Schluß gekommen dass man nicht einfach in einen fertig gemuxten MPEG2-Stream Packets einfügen kann, zumindest grosse nicht.

Die im Packet-Header geführte SCR-Referenzzeit (soll ja die Zeit zum Einlesen der Daten von Platte/CD sein) könnte dann evt. zu klein bemessen sein. Was dann passieren würde, keine Ahnung.

 

mfg erwin

Link to comment

Hmm, hmm, nächstes Problem: Wo müssen die user_data hin? Hinter den sequence_header, schätze ich, weil der sollte ja zu Beginn eines PES-Paketes stehen. Das heißt, der Header muss vollständig geparst werden, einschließlich Extension, damit man weiß, wo er zu Ende ist. Bei TS wird das nicht unbedingt an einer Paketgrenze sein. Und beim Lesen das gleiche Theater.

 

Weiterhin müsste der Kram hinter jeden sequence_header gepackt werden. Nur einmal am Anfang dürfte nicht reichen, weil das ja wahrscheinlich weggeschnitten wird. Oh Mann...

Link to comment
Gerade gecheckt, pj.x lässt die user_data unversehrt :blink:

Ich glaub das müssen wir noch mal genauer untersuchen. Bei mir sind sie rausgeflogen.

 

rausgeflogen weil von mir falsch eingefügt ODER zu gross ODER andere Version (0.90.04.00.b05) ODER andere Einstellung?

 

mfg erwin

Link to comment
Hmm, hmm, nächstes Problem: Wo müssen die user_data hin? Hinter den sequence_header, schätze ich, weil der sollte ja zu Beginn eines PES-Paketes stehen.

 

Ja, ich habs vor die erste GOP gepackt.

 

Weiterhin müsste der Kram hinter jeden sequence_header gepackt werden. Nur einmal am Anfang dürfte nicht reichen, weil das ja wahrscheinlich weggeschnitten wird. Oh Mann...

 

Nun Cuttermaran hat bei mir nur in den Videodaten geschnitten aber die ersten sequence_header incl. der user_data erhalten. Oder hab ich dich jetzt falsch verstanden?

 

mfg erwin

Link to comment
aber die ersten sequence_header incl. der user_data erhalten.

Wenn ich mit Cuttermaran einen 4:3-Anfang abschneide, auf den ein 16:9-Teil folgt, ist das Ergebnis 16:9. Deshalb erscheint es mir unwahrscheinlich, dass der erste sequence_header beibehalten wird.

 

Insgesamt ist es mir etwas unheimlich, Videodaten auf diese Weise zu manipulieren, denn wer weiß, wo das nachher zu unerwarteten Problemen führt. Dass das Funktionieren vom (unbekannten) Verhalten diverser Tools abhängt, ist nicht so toll. Sicherlich hat es seinen Wert, die Möglichkeit zu erforschen, aber richtig überzeugt bin ich davon im Moment nicht.

Link to comment

..ist alles imho relativ simpel. Am anfang werden die daten (an der richtigen stelle) eingefügt. Wird geschnitten muss extrahiert und neu gepackt werden. Sonst ist es futsch.

 

ps.

für TS eignet es sich imho nicht. Man könnte natürlich den 1. header vom mpeg patchen aber eigentlich wäre ein eintrag in eine (wiederholende) tabelle angesagt.

Link to comment
  • 1 month later...

erst wollte ich schreiben "ich bin doch nict blöd" aber dann dachte ich mir, guck auch mal anch ob die platte auf der die aufnahmen gespeichert werden auch als NTFS formatiert ist, weil sonst wirds nachher peinlich.

 

aber nachdem ich geschaut habe kann ich sagen "ich bin doch nicht blöd" LOL

 

 

also am dateisystem liegt es nicht das ist NTFS

Link to comment

DVBViewer Pro 3.6, Optionen -> Rekorder -> Aufzeichnungen -> Create NTFS file storage data (da fehlt was in der Language-Datei?), Dateiformat egal, aber das Ziellaufwerk muss eine NTFS-Partition sein.

 

Hier funktioniert es.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...