Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
mpeg2lib Problem mit 3TB Platte?
#11
Hab mal einen schnellen Blick in die Sourcen der DLL und der Delphi DLL Import Unit geworfen und alles ist auf 64 Bit ausgelegt (Int64).
Allerdings ist mir folgende Deklaration in der MPEG2Lib.pas noch nicht klar:
Code:
TOpenMPEG2Stream     = function(StreamGetCallback: TStreamGetCallback; SequentialStream: LongBool; Size: Int64=High(Int64)-2*Int64(High(DWord)); Owner: TObject=nil): LongBool; stdcall;
Genau gesagt die Definition von size:
Code:
Size: Int64=High(Int64)-2*Int64(High(DWord))
Wenn man sich das in Delphi mit folgender Code Zeile mal schnell ausrechnen läßt:
Code:
ShowMessage(IntToHex(High(Int64)-2*Int64(High(DWord)),16));
ergibt das einen Wert von 0x7ffffffe00000001.

Wenn man nun alle Streamfunktionen in der Mpeg2Lib DLL bis in mpeg2lib.cpp nachverfolgt, sieht man in folgendem Code Schnipsel:
Code:
PDirectFile DirectStreamOpen(TStreamGetCallback StreamGetCallback,__int64 Size,int SequentialStream,DWORD ID)
{
  PDirectFile File = (PDirectFile)malloc(sizeof(TDirectFile));

  if(Size<0)
    Size = 0x6fffffffffffffff;
das bei einem negativem Größenwert die Maximalgröße lediglich auf maximal 0x6fffffffffffffff voreingestellt wird.

Code:
MPEG2Lib.pas -> 0x7ffffffe00000001
mpeg2lib.cpp -> 0x6fffffffffffffff
Eventuell liegt der Fehler möglicherweise in der MPEG2Lib.pas Deklaration, die die maximale Streamgröße zu groß definiert, was vielleicht größer ist, als die Windows API für Stream/File Zugriffe zulässt.
Lostech
Zitieren
#12
Hallo,

die Meldung "Probleme beim Initialisieren der Videoanzeige 1." habe ich neu eingabaut um zu sehen wann das Programm dort vorbeikommt. Diese Meldung kommt immer und kann ignoriert werden. Ich habe sie zwar im Quelltext gelöscht aber dann nicht mehr compiliert. :?
Die zweite Meldung (...Videoanzeige 2 0x0) bestätigt den Verdacht das die DLL Probleme hat denn sie liefert keine Bildgröße.
Die Funktion "TOpenMPEG2Stream" wird vom Programm nicht verwendet. Die anzuzeigende Videodatei wird mit "TOpenMPEG2File" (aus dem Gedächnis) geöffnet.

Was tun?
1. Die mpeg2lib.dll reparieren. Erfordert C Kentnisse und einen funktionierenden Compiler, besser IDE (integrierte Entwicklungsumgebung).
2. Igor verwendet für seine Schnittsuche eine andere Mpeg2-DLL. Vielleicht funktionier diese besser? Das erfordert aber auch etwas Zeit da ich mich erst wieder hineinversetzen muß.
3. Alles auf DirectShow umstellen. Dazu muß ich erst in den Vorruhestand gehen. Wink

Windows XP läuft bei mir nur noch in einer Virtualbox da ich vollständig auf Linux (XUbuntu) umgestellt habe. Demzufolge benutze ich auch Delphi nicht mehr. Ich habe mich jetzt mit Java angefreundet.

Martin
[KNC One TVStar/ P2 400MHz/ Ubuntu] [DVBStream] [TS/MPV-MP2-AC3][ProjektX/ M2S/ GfD]
Zitieren
#13
Hallo Martin,

Klingt eher kompliziert.

Bin dir sehr dankbar, dass du dich darum kümmerst. Ich könnte dir auch nicht böse sein, wenn du das nicht tätest. Du hast ja keinerlei Verpflichtung dein Geschenk an die Mpeg2Schnitt Nutzer ewig zu pflegen.

Bitte lass mich wissen, wenn ich als einfacher Benutzer noch was zur baldigen Lösung beitragen kann.

Grüße,
Cela

Edit:
P.S.
Was tun?
1. Die mpeg2lib.dll reparieren ....
2. ... andere Mpeg2-DL L...
3. ... DirectShow ...
4. ... Java ...
5. ... XUbuntu ...
Was auch immer, bitte, behaltet die superbe Performance der mpeg2lib.dll!

Die außerordentlich gute Performance bei minimalem Ressourcenverbrauch scheint mir ein weiteres Alleinstellungsmerkmal für Mpeg2Schnitt zu sein. Kein anderes Programm, welches ich bisher probierte, lässt so flüssig in Videodateien während des Abspielens scrollen (selbst Wagneropern samt Pausen in einem Stück, d.h. 5 Stunden und mehr). Das ist einzigartig! Und soll natürlich auch weiterhin bleiben. (ProjectX verarbeitet sogar noch größere, annähernd 24-stündige TS, aber nicht mit flüssigem Abspielen und Scrollen. Ich verwende es gerne auch dazu, lange Aufnahmen in bis zu 10 Stunden Häppchen für Mpeg2Schnitt zu filetieren.)

P.P.S.
Sieht ein geübtes Auge nun mehr? Es fasziniert mich, was Lostech so alles sieht!
Ich einfacher Anwender würde das aus den LOGs nicht herauslesen können. Ich sehe in den Logs von Probe A und Gegenprobe B keine voneinander abweichenden Zahlenwerte bei 'Length' und 'Offset'. Beide haben 'Length: 34834060' als größten Zahlenwert bzgl. Test3TB.mpv unabhängig ob problematische 3TB oder funktionierende 2TB Quelle. Da dachte ich mir, es wird wohl nicht an den 'Dateianfragen mit pos. von mpeg2lib.dll an das OS' liegen, man wird wohl die gelesenen Inhalte debuggen oder andere Größen erfassen müssen.
Werde gerne dabei helfen. Allerdings würde ich konkretere Vorgaben benötigen, was ich wie machen müsste, um an die notwendigen Datenwerte zu kommen. Für euch weniger aufwändig fände ich allerdings, wenn ihr den Fehler selbst reproduzieren könntet.
[Hauppauge Nexus-S][WatchTVPro 3.02][VCR.NET]
[FireDTV S/CI][TT-budget S2-3200 ][DVBViewer GE 1.9.4][DVBViewer Pro 3.8.0.0]
[ProjectX_0.90.4, j2sdk1.4.2_01][Mpeg2Schnitt 096a][Cuttermaran 1.66]
[Ifoedit0971][DVDlab PRO 2.30][DvdReMake Pro][PgcEdit]
Zitieren
#14
Hallo Cela und die Anderen,

ich wollte mich mal wieder melden und berichten was alles nicht ging, aber nicht ohne hoffentlich eine Lösung zu bieten.

Versuch 1, mpeg2lib reparieren
- MinGW (freier C++ Compiler) und CodeBlocks (IDE) installiert - die Quellen lassen sich nicht so einfach compilieren das zu viel MS typischen Code enthalten ist (hauptsächlich die Assemblerteile)
- drei Versionen von MS-Visual C++ installiert (nacheinander) - keine konnte das Projekt ohne Fehler öffnen
- das mpeg2lib Projekt wurde mit der Version 6 (1998 ) erstellt und die ließ sich im Netz nicht finden (wenigstens nicht legal)

Versuch 2, libmpeg2 verwenden
- die Quellen ließen sich problemlos mit MinGW compilieren
- Igor verwendet für die Schnittsuche auch diese Dll und hat gute Vorarbeit geleistet, ich musste "nur" noch das Bildformat von YUV422 in RGB24 umrechnen

Im Anhang eine M2S Version mit der nötigen Dll. Bitte testen.
Befindet sich die libmpeg2-0.dll im M2S Verzeichnis wird diese verwendet, ansonsten die alte mpeg2lib.dll, durch umbenennen der libmpeg2-0.dll kann man zwischen den Dlls wechseln (M2S neu starten).

Martin


Angehängte Dateien
.zip   Mpeg2Schnitt.zip (Größe: 738,41 KB / Downloads: 201)
[KNC One TVStar/ P2 400MHz/ Ubuntu] [DVBStream] [TS/MPV-MP2-AC3][ProjektX/ M2S/ GfD]
Zitieren
#15
Martin schrieb:...Versuch 2, libmpeg2 verwenden
...Bitte testen.
Befindet sich die libmpeg2-0.dll im M2S Verzeichnis wird diese verwendet...
Martin
Martin, du hast es wieder mal geschafft! Mit Igor's libmpeg2 von Versuch 2 funktioniert es auch auf der 3TB USB Platte ausgezeichnet, mit gewohnt phantastischer Performance! Habe soeben eine 4h20min (8,37GB) Aufnahme einer Kabel 1 Sendung aus der Reihe 'Die größten Filme aller Zeiten' geschnitten und dabei Video- und Audioeffekte benutzt. Scrolling-Performance so als ob die Aufnahme auf einer 500GB Platte liegen würde. Deine/Eure Mühe hat sich wirklich gelohnt!

Jetzt müsste Mpeg2Schnitt erst recht mal eine ordentliche Promotion bekommen. Wie schon in #4 angeführt, ist und bleibt Mpeg2Schnitt das weitaus beste Schnittprogramm für mpeg2 Aufnahmen. Gäbe es nur ProjectX und Mpeg2Schnitt auch für HD h.264!

Wenn es einen IT-Nobel Preis gäbe, müsste man Dich nominieren! Wink

Problem gelöst! Vielen Dank! Smile
[Hauppauge Nexus-S][WatchTVPro 3.02][VCR.NET]
[FireDTV S/CI][TT-budget S2-3200 ][DVBViewer GE 1.9.4][DVBViewer Pro 3.8.0.0]
[ProjectX_0.90.4, j2sdk1.4.2_01][Mpeg2Schnitt 096a][Cuttermaran 1.66]
[Ifoedit0971][DVDlab PRO 2.30][DvdReMake Pro][PgcEdit]
Zitieren
#16
Hallo,
nachdem ich anfangs die Probleme durch der Verwendung einer 3TB Platte hatte,dachte ich hier die Lösung gefunden zu haben.
Leider passiert nichts wenn ich auf das GO klicke (Video/Audio Dateien laut Schnittliste erzeugen).
Es sollte ein Fenster erscheinen in dem der Ausgabepfand ausgewählt werden kann...
Kann mir evtl. jemand helfen?
Zitieren
#17
Hallo,

wenn du auf GO klickst und Schnitte im Schnittfenster sind sollte sich das SchnittTool öffnen. Schau bitte nach ob sich die SchnittTool.exe im Mpeg2Schnitt-Verzeichnis befindet.
Ansonsten müsstest du dein Vorgehen und den Fehler noch genauer darlegen.

Martin
[KNC One TVStar/ P2 400MHz/ Ubuntu] [DVBStream] [TS/MPV-MP2-AC3][ProjektX/ M2S/ GfD]
Zitieren


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Problem beim Video FadeOut mumdigau 7 3.117 07.12.2008, 18:07
Letzter Beitrag: Martin
  Hallo, ich bin neu hier und habe ein Problem mit MPEG2Schnitt! weihe 3 2.479 21.05.2008, 08:56
Letzter Beitrag: weihe
  Problem mit Schnitt Tool Version 0.9 Tobixyz2003 7 2.252 02.02.2008, 15:21
Letzter Beitrag: Tobixyz2003
  Error -113304 - problem with MPEG2 decoder Libor A 7 2.825 26.09.2007, 07:52
Letzter Beitrag: Libor A
  AC3-Problem beim Schneiden Uef 3 1.361 30.08.2007, 12:46
Letzter Beitrag: Uef
  Problem mit Graphedit Teatime 2 1.556 02.07.2007, 18:16
Letzter Beitrag: Teatime
  Problem mit dem Kopierbuffer viewer-x 4 1.876 18.12.2006, 08:02
Letzter Beitrag: Sabre
  mpeg2lib.dll für MPEG2Schnitt-Update 0.87 gesucht... Tom_ 3 2.110 17.10.2006, 00:04
Letzter Beitrag: Tom_
  Problem mit Audio hinzufügen McCabe 2 1.526 04.10.2006, 12:01
Letzter Beitrag: McCabe
  audio problem sane 16 2.761 04.07.2006, 12:58
Letzter Beitrag: sane

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste